【发布时间】:2017-05-02 20:05:02
【问题描述】:
我在一些游戏逻辑方面遇到了一些问题。现在我有一个设置,让玩家使用带有 Gear-VR 耳机 + Gear 控制器的新三星 Galaxy S8 来探索环境。当前代码设置为玩家可以使用角色控制器使用他们正在看的方向向前和向后移动,并根据控制器的“触摸板”计算相机正在寻找的移动方向。
我在 Vector2 中有一个从 -1.0 到 1.0 的水平轴和垂直轴(基于控制器“触摸”)。
if (input.y > 0.0f || input.y < 0.0f || input.x > 0.0f || input.x < 0.0f) {
Vector3 direction = new Vector3(cameraObject.transform.forward.x, 0, cameraObject.transform.forward.z);
cC.Move(direction * walkSpeed * Time.deltaTime * input.y);
}
上面的代码通过计算相机正在看的方向并“朝向”它移动来向前和向后平移玩家,但我还需要向左和向右“扫射”并且似乎无法计算出来。
【问题讨论】:
-
if (input.y != 0.0f || input.x != 0.0f) { ... }但从括号中的代码我看到你甚至不使用input.x所以 if 语句可以更短:if (input.y != 0.0f) { ... }