【问题标题】:How to create, load and use sprite sheets in allegro 5?如何在 allegro 5 中创建、加载和使用精灵表?
【发布时间】:2016-09-19 14:27:18
【问题描述】:

我现在熟悉快板了。但是现在快板学习引导我为我的角色动画学习精灵表。

这次我想要一些关于如何在 allegro 5 中创建、加载和使用精灵表的帮助。

我在 Windows PC 中使用 Dev c++。并且没有网络连接(我想我应该指定)。

【问题讨论】:

    标签: allegro


    【解决方案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 的建议。但是当我在我的程序中循环使用它时,每次使用它时动画都会变得越来越慢......现在该怎么办......??
    • 没有更多信息很难说。您可能想用最少的代码示例提出另一个问题来展示您的问题
    • 您是否每次绘制动画时都加载位图?这是一个常见的初学者错误。您应该加载一次并将位图存储在指针中。
    猜你喜欢
    • 2017-01-07
    • 2021-05-10
    • 2018-06-29
    • 2015-12-14
    • 2012-06-02
    • 1970-01-01
    • 2019-12-17
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多