我的统一C#代码不会让精灵[paddle]在触摸屏上上下移动

时间:2016-04-18 11:37:34

标签: c# android unity3d monodevelop

我的统一C#代码不会让精灵[paddle]在触摸屏上上下移动

using UnityEngine;

using System.Collections;

public class Paddle : MonoBehaviour 
{

    public float paddleSpeed = 1;

    public Vector3 playerPos;

    void Update()
    {
        float yPos = transform.position.y + (Input.GetAxis("Vertical") * paddleSpeed);
        playerPos = new Vector3(-20, Mathf.Clamp(yPos, -13, 13), 0);
        transform.position = playerPos;
    }
}

1 个答案:

答案 0 :(得分:0)

首先,检查Input.GetAxis(“Vertical”)是否返回一个值。也许你输入的映射是不正确的,你永远不会得到一个值。 然后检查值是否太大。由于你夹在-13和13之间,可能你的对象停留在同一个地方。

只是一些建议:

  • 显然你不需要将playerPos作为类变量,因为你只在一个函数中使用它

  • 通过选中

    启动更新功能
    if(Input.GetAxis("Vertical") > 0 )
    

否则,即使它没有改变,你也会每次实例化并分配位置