【发布时间】:2019-05-17 19:19:46
【问题描述】:
3D 运动。如果玩家向左向后移动,他们将以任何其他方向的两倍速度前进。 MoveDirection.x 和 z 分别等于模拟摇杆方向,范围从 1 到 -1。
MoveDirection = Vector3(MoveDirection.x - (MoveDirection.z / 2 * MoveDirection.x), MoveDirection.y, MoveDirection.z - (MoveDirection.x / 2 * MoveDirection.z))
我认为如果沿对角线移动,结果会是 0.5、0、0.5,但事实并非如此。
【问题讨论】:
-
对不起,只是想知道,你提到
MoveDirection.x和MoveDirection.z是模拟值(-1到1),MoveDirection.y的值是多少?另外,你得到了什么结果? -
左下以外的任何方向都是正常的。如果它被放下,速度会增加一倍。向量代表您前进的方向,例如 (0.5, 0, 0.5)(它可以是负值),当它起作用时,当它不起作用时,它要么稍微偏离,要么大约是双倍速度。 Movedirection.y 是您的向上和向下运动,例如跳跃和重力,并在其他地方处理,这不是问题。
标签: gdscript