我想用触摸输入制作一个小游戏,这是我为它制作的代码:(这是在Update方法中)
//Check if Input has registered more than zero touches
if(Input.touchCount > 0){
//Store the first touch detected.
Touch myTouch = Input.touches[0];
//Check if the phase of that touch equals Began
if (myTouch.phase == TouchPhase.Began)
{
//If so, set touchOrigin to the position of that touch
touchOrigin = myTouch.position;
if(touchOrigin.x < -2){
horizontalInput = -1;
} else if(touchOrigin.x > 2){
horizontalInput = 1;
}
if(touchOrigin.x > -2 && touchOrigin.x < 2 && touchOrigin.y < 0){
verticalInput = 1;
}
} else if(myTouch.phase == TouchPhase.Ended){
horizontalInput = 0;
verticalInput = 0;
}
}
这是我的场景:http://i.stack.imgur.com/PGbd3.jpg 当我在我的Android手机上尝试它时,它只向右移动,我不知道为什么。 (我的相机的位置是:x:-6,6; y:-2,6)我正在使用正交相机
答案 0 :(得分:1)
这是因为你正在使用Touch.position,它会根据SCREEN空间而不是WORLD空间返回值。
在应用条件之前,您需要做的是将点从屏幕转换为世界空间。您可以使用Camera.ScreenToWorldPoint。
来完成此操作