1

我想知道如何通过触摸向左或向右移动对象。就像是:

public float speed;

void FixedUpdate ()
{
    float LeftRight = Input.GetAxis ("Horizontal");

    Vector3 Movement = new Vector3 ( LeftRight, 0, 0);

    rigidbody.AddForce(Movement * speed);
}

但只是为了触摸屏幕。屏幕的前半部分为左侧,另一部分为右侧。

4

1 回答 1

1

对于 android 或 ios 中的触摸输入类型,请使用Input.GetTouch.
这个想法是获取触摸的位置,然后通过使用获取屏幕宽度来决定它是触摸屏幕的左侧还是右侧Screen.width

public float speed;

void FixedUpdate ()
{
    float LeftRight = 0;

    if(Input.touchCount > 0){
        // touch x position is bigger than half of the screen, moving right
        if(Input.GetTouch(0).position.x > Screen.width / 2)
            LeftRight = 1;
        // touch x position is smaller than half of the screen, moving left
        else if(Input.GetTouch(0).position.x < Screen.width / 2)
            LeftRight = -1;
    }

    Vector3 Movement = new Vector3 ( LeftRight, 0, 0);

    rigidbody.AddForce(Movement * speed);
}
于 2014-10-04T12:02:24.487 回答