作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在使用补间引擎来平滑移动实体的路径。要进行插值,您可以像这样提供函数:
Tween.to(myObject, POSITION, 1.0f)
.目标(50, 70)
.ease(四.INOUT)
.start(myManager);
to()
函数的最后一个参数是持续时间。据我所知,如果路径更长,实体就会更快地到达目标。路径越短,实体移动得越慢。我在每个实体中都有名为 movingSpeed 的浮点变量,它应该以每秒 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);
最佳答案
创建补间并使用工厂方法 Tween.to(...) 设置其持续时间后,我认为没有办法改变其持续时间。我建议使用速度并每帧更新它以获得您想要的效果。无论如何,设定速度或每帧计算速度都会违背补间的目的。
关于java - 补间运动速度控制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22187056/
我是一名优秀的程序员,十分优秀!