我目前正在用 xna 创建动画。当所有帧之间的帧高度、宽度和持续时间都相同时,我可以为 spritesheet 设置动画。
但我发现它不是很灵活,我想在没有相同 frameHeight/Width 的 spritesheet 的情况下制作动画,更重要的是没有恒定的持续时间。
是否有任何教程或代码示例来学习这个?
编辑:我想到了这样的事情,但我无法让它发挥作用:
public void Update(GameTime gameTime)
{
if (elapsedTime > frameTime)
{
currentFrame++;
elapsedTime = 0;
}
sourceRect = new Rectangle(newpositionX, newpositionY, newframeWidth, newframeHeight);
frametime = newframetime
}
enter code here
难点在于如何准确地指定每一帧的新位置和新帧时间。