我不知道如何做到这一点,我的目标是创建一个按钮,控制移动触摸设备的飞机上的播放器 . 我创建了按钮,我试图控制播放器,但我在这里失败是我的播放器c#脚本

using UnityEngine;
using System.Collections;

public class PlayerMovement : MonoBehaviour 
{
   public float speed = 500f, jumpHeight = 500f;
   Transform myTrans;
   Rigidbody2D myBody;
   Vector2 movement;//used as temp holder variable before applying to velocity
   bool isGrounded = true;


   void Start () 
   {
       myTrans = this.transform;
       myBody = this.GetComponent<Rigidbody2D>() ;
   }

   void Update () 
   {
       //Check if the player is grounded or not
       isGrounded = Physics2D.Linecast(myTrans.position,
                                       GameObject.Find(this.name+"/tag_ground").transform.position,
                                       LayerMask.NameToLayer("Player"));

       //Just for visualization, not needed for gameplay
       Debug.DrawLine (myTrans.position,
                    GameObject.Find(this.name+"/tag_ground").transform.position,
                    Color.red);


       //Works for keyboards and joysticks
       #if !UNITY_ANDROID && !UNITY_IPHONE && !UNITY_BLACKBERRY && !UNITY_WINRT
       Move (Input.GetAxisRaw("Horizontal"));
       if (Input.GetButtonDown ("Jump"))
          Jump ();
       #endif
   }
   //
   //Separate Move and Jump so they can be called externally by TouchButtons
   //
   public void Move(float horizontal_input)
   {
       movement = myBody.velocity;

       if(isGrounded)//we can only move left and right if on the ground
           movement.x = horizontal_input * speed * Time.deltaTime;

       //Apply the movement to the player
       myBody.velocity = movement;
   }
   public void Jump()//we can only jump if on the ground
   {
       if(isGrounded)
           myBody.velocity += jumpHeight * Vector2.up * Time.deltaTime;
   }
}

这是触摸逻辑脚本

using UnityEngine;
using System.Collections;

public class TouchLogicV2 : MonoBehaviour
{
public static int currTouch = 0;//so other scripts can know what touch is currently on screen
[HideInInspector]
public int touch2Watch = 64;
private new GUITexture guiTexture;
public virtual void Update()//If your child class uses Update, you must call base.Update(); to get this functionality
{
    //is there a touch on screen?
    if(Input.touches.Length <= 0)
    {
        OnNoTouches();
    }
    else //if there is a touch
    {
        //loop through all the the touches on screen
        for(int i = 0; i < Input.touchCount; i++)
        {
            currTouch = i;
            //executes this code for current touch (i) on screen
            if(this.guiTexture != null && (this.guiTexture.HitTest(Input.GetTouch(i).position)))
            {
                //if current touch hits our guitexture, run this code
                if(Input.GetTouch(i).phase == TouchPhase.Began)
                {
                    OnTouchBegan();
                    touch2Watch = currTouch;
                }
                if(Input.GetTouch(i).phase == TouchPhase.Ended)
                {
                    OnTouchEnded();
                }
                if(Input.GetTouch(i).phase == TouchPhase.Moved)
                {
                    OnTouchMoved();
                }
                if(Input.GetTouch(i).phase == TouchPhase.Stationary)
                {
                    OnTouchStayed();
                }
            }
            //outside so it doesn't require the touch to be over the guitexture
            switch(Input.GetTouch(i).phase)
            {
            case TouchPhase.Began:
                OnTouchBeganAnywhere();
                break;
            case TouchPhase.Ended:
                OnTouchEndedAnywhere();
                break;
            case TouchPhase.Moved:
                OnTouchMovedAnywhere();
                break;
            case TouchPhase.Stationary:
                OnTouchStayedAnywhere();
                break;
            }
        }
    }
}
//the default functions, define what will happen if the child doesn't override these functions
public virtual void OnNoTouches(){}
public virtual void OnTouchBegan(){print (name + " is not using OnTouchBegan");}
public virtual void OnTouchEnded(){}
public virtual void OnTouchMoved(){}
public virtual void OnTouchStayed(){}
public virtual void OnTouchBeganAnywhere(){}
public virtual void OnTouchEndedAnywhere(){}
public virtual void OnTouchMovedAnywhere(){}
public virtual void OnTouchStayedAnywhere(){}

}

我正在关注touchlogic tuts,但我正努力在移动设备上移动播放器 . 欢迎提供关于触摸输入的好例子给我链接示例 . 谢谢