gpt4 book ai didi

java - 补间运动速度控制

转载 作者:行者123 更新时间:2023-12-01 13:19:10 25 4
gpt4 key购买 nike

我正在使用补间引擎来平滑移动实体的路径。要进行插值,您可以像这样提供函数:

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/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com