我正在为Android制作汽车游戏,我制作了Throttle,Break和Steering Wheel。
一切都运转良好,但是当我触摸油门或制动器时,我无法使用方向盘。 或者当我使用方向盘时,如果我触摸油门或断开,方向盘有点乱。
节气和休息是GUITexture
,
方向盘正在使用GUI.DrawTexture
(因为GUITexture不支持旋转)
我正在检查这样的接触:
int touchCount = Input.touchCount;
for (int i = 0; i < touchCount; ++i){
Touch t = Input.GetTouch(i);
if (t.phase != TouchPhase.Ended &&
this.throttleButton.texture.HitTest(t.position)){
throttle = 1f;
}
if (t.phase != TouchPhase.Ended &&
this.brakeButton.texture.HitTest(t.position)){
brake = 1f;
}
//inputGuiPosition variable was used because Unity3d GUI system is a little opposite
Vector3 inputGuiPosition = t.position;
inputGuiPosition.y = Screen.height - inputGuiPosition.y;
if (t.phase == TouchPhase.Began &&
wheelRect.Contains((inputGuiPosition))){
steerInput = SteeringWheel.GetAngle () * (-1f/270f);
}
}
答案 0 :(得分:1)
这是因为Unity的GUI不支持多点触控。如果你想在Unity游戏中进行多点触控,你需要来自unity的资产商店的一些输入触摸控制资产。
答案 1 :(得分:1)
我非常确定OnGUI无法处理多点触控。您应该考虑使用touch API:http://docs.unity3d.com/Documentation/ScriptReference/Input-touches.html