我使用吐温引擎用于平滑移动实体的路径。为了使插值你喂的功能是这样的:吐温移动速度控制
Tween.to(myObject, POSITION, 1.0f) .target(50, 70) .ease(Quad.INOUT) .start(myManager);
最后一个参数的to()
功能是持续时间。我所学到的,如果路径更长,实体会更快地移动到目标。路径越短,实体移动越慢。我在每个实体中都有浮动变量moveSpeed,它应该每秒移动实体7个像素。将变量用于补间的移动速度的方式是什么,而不是在工厂构造函数中指定一次?
我的实现:硬编码的时间
Stack<Vector2i> stack = new Stack<Vector2i>();
/* ...pushing path points from last to first to the stack. */
Tween t = Tween.to(this, EntityAccessor.POS, 4.0f);
for (int i = stack.size()-1; i >= 0; i--) {
Vector2i cur = stack.get(i);
if (i == 0) { // if point is last then
t.target(cur.getX(), cur.getY());
} else {
t.waypoint(cur.getX(), cur.getY());
}
}
t.ease(Quad.INOUT);
t.path(TweenPaths.catmullRom);
t.delay(0.5f);
t.start(game.tweenManager);
谢谢你让我知道,吐温不是我所需要的。 – Marko