我正在尝试用Sprite图像制作动画。动画是一个角色从屏幕的左到右,然后从右到左不停地移动(循环)。我该怎么做呢?我应该将角色(演员)的物理属性设置为动态还是运动学?
基本上,动态体是通过力来控制的,而运动体是直接分配位置的。因此一个运动体是你想要的。那么问题就变成了你是否需要对这个字符进行碰撞检测。
计算字符左右移动的位置可以这样做:
float x = t % (2 * width);
if (x > width) x = 2 * width - x;
其中t
为System.currentTimeMillis
的输出或等效输出。或者你可以使用TweenEngine来达到同样的效果。然后可以像下面这样绘制精灵:
sprite.setX(x);
sprite.draw(spriteBatch);