精灵动画从左到右,我应该选择啥?动态的还是运动的?
Posted
技术标签:
【中文标题】精灵动画从左到右,我应该选择啥?动态的还是运动的?【英文标题】:Sprite animation left to right, what should I choose? Dynamic or Kinematic?精灵动画从左到右,我应该选择什么?动态的还是运动的? 【发布时间】:2016-11-03 00:55:53 【问题描述】:我正在尝试使用 Sprite 图像制作动画。动画是一个角色从屏幕的左向右移动,然后从右向左不停地移动(循环)。我该怎么做呢?我应该分配角色(演员)的物理动力学还是运动学?
【问题讨论】:
【参考方案1】:基本上,动态物体是通过力来控制的,而运动物体则可以直接分配位置。因此,运动体更符合您的要求。那么问题就变成了你是否需要对这个角色进行碰撞检测。
计算一个左右移动的角色的位置可以这样完成:
float x = t % (2 * width);
if (x > width) x = 2 * width - x;
其中t
是System.currentTimeMillis
或等效项的输出。或者你可以使用 TweenEngine 来达到同样的效果。然后可以像下面这样绘制精灵:
sprite.setX(x);
sprite.draw(spriteBatch);
【讨论】:
要记住的一点是,在 Libgdx 中,使用 box2d,运动物体也可以具有速度,而不是通过设置不推荐用于物理游戏的位置。此外,运动体仍然允许碰撞检测,但不对任何力做出反应以上是关于精灵动画从左到右,我应该选择啥?动态的还是运动的?的主要内容,如果未能解决你的问题,请参考以下文章