如何在 allegro 5 中创建、加载和使用精灵表?
Posted
技术标签:
【中文标题】如何在 allegro 5 中创建、加载和使用精灵表?【英文标题】:How to create, load and use sprite sheets in allegro 5? 【发布时间】:2016-09-19 14:27:18 【问题描述】:我现在熟悉快板了。但是现在快板学习引导我为我的角色动画学习精灵表。
这次我想要一些关于如何在 allegro 5 中创建、加载和使用精灵表的帮助。
我在 Windows PC 中使用 Dev c++。并且没有网络连接(我想我应该指定)。
【问题讨论】:
【参考方案1】:创建精灵表只是在您选择的艺术程序中创建一个图像,划分为矩形区域。为了这个例子,假设你的 spritesheet 中的每个区域都是 32x32 像素。
要加载精灵表,只需使用al_load_bitmap
有一个例子here。
要绘制“精灵”,您可以使用al_draw_bitmap_region
并告诉它要绘制精灵表的哪个子部分。
假设我们的spritesheet
被划分为 32x32 像素的矩形,x, y
是您要绘制精灵的位置:
al_draw_bitmap_region(spritesheet, 0, 0, 32, 32, x, y)
将绘制“第一个精灵”(从工作表的最左上角开始),
al_draw_bitmap_region(spritesheet, 32, 0, 32, 32, x, y)
会将精灵绘制到第一个精灵的右侧,依此类推...
【讨论】:
好的,谢谢@rcorre 的建议。但是当我在我的程序中循环使用它时,每次使用它时动画都会变得越来越慢......现在该怎么办......?? 没有更多信息很难说。您可能想用最少的代码示例提出另一个问题来展示您的问题 您是否每次绘制动画时都加载位图?这是一个常见的初学者错误。您应该加载一次并将位图存储在指针中。以上是关于如何在 allegro 5 中创建、加载和使用精灵表?的主要内容,如果未能解决你的问题,请参考以下文章