gpt4 book ai didi

java - LWJGL Vector2f慢慢变成另一个 vector

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

我有 2 个 LWJGL 的 Vectro2f。一个用于存储玩家位置,另一个用于存储鼠标右键单击目标以供玩家移动到的位置。在提供增量时间的更新方法中,我如何缓慢地将位置 vector 点移向方向 vector 点,以使玩家移动到选择的位置?我已经尝试过这个,但这只是即时跳跃,并且每次都不会到达正确的坐标:

if(this.destination != this.position) {
this.position.setX(this.destination.x-this.position.x);
this.position.setY(this.destination.y-this.position.y);

}

最佳答案

您可以将其放入循环中:

if (destination != position){
position.setX(position.getX() + dX);
position.setY(position.getY() + dY);
}

其中 dX 和 dY 是玩家在一帧中沿 X 和 Y 方向移动的距离。计算 dX 和 dY 的一种方法是使用三角函数:

dX = 速度 * Math.cos(theta) 其中 theta 是与水平方向(X 轴,即三角函数中的单位圆)到目的地的角度。

dY = 速度 * Math.sin(theta)

关于java - LWJGL Vector2f慢慢变成另一个 vector ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34242751/

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