Unity初学者 - 点击/点击多次点击

时间:2014-12-21 16:05:27

标签: android ios unity3d

我有一个四元组对象,其中png图形作为子对象。

此区域是点击/点击区域。

我将一个脚本附加到该对象,它的代码为:

// Update is called once per frame
    void FixedUpdate () {

        bool tapped = Input.GetButton("Fire1");

        if (tapped){

            Debug.Log ("diram");

        }

    }

问题是,点击测试时会点击两次,而不是点击一次。

我在这里做错了什么?我不希望在点按或点击两次调用函数。

2 个答案:

答案 0 :(得分:1)

按住按钮时,

Input.GetButton返回true。您应该使用Input.GetButton[Down|Up]。这些方法分别在按下或释放按钮的第一帧中返回true。

还要考虑在Update而不是FixedUpdate内阅读输入事件。

答案 1 :(得分:0)

如果要延迟拍摄,还可以添加一个计时器和另一个变量:

    public float delay; //change this in the Inspector
    public bool canshoot = true;

    private void Start()
    { 
      bool input = Input.GetButton("Fire 1");
      if(input && canshoot){
         canshoot=false;
         Shoot() // your shooting function)
         StartCoroutine(Reset(delay));
        }
    }


   IEnumerator Reset(float time){
    yield return new WaitForSecondsRealTime(time);
    canshoot = true;
    }

希望能有所帮助!