首页 > 解决方案 > Love2D 步行动画在没有精灵表的按键上播放

问题描述

假设您有三个图像文件walkleft1.pngwalkleft2.pngwalkleft3.png.
您如何使用这些图像在按键时播放动画?
有没有办法做到这一点而不必使用精灵表?

左行走精灵:图像1img2图像3

标签: imagelualove2d

解决方案


经典的做法是让每个纹理对应一个数字。然后,您可以存储动画的阶段并根据数字显示正确的帧,每隔一定的毫秒数增加它,并在达到最大值时将数字重置为 0。我相信网上有很多资源可以提供示例。但是,这里有一些伪代码可以给你一些想法:

class animation
    stage = 0
    image_array = []        

    constructor(images)
        for image in images
           image_array.add_item(image)

    next()
        stage++
        if stage > image_array.length
            stage = 0
        return image_array[stage]

然后,next()每次您想在游戏循环中更新时调用。


推荐阅读