zoukankan      html  css  js  c++  java
  • unity触发器碰撞调用OnTriggerStay()检查按键多次执行的问题

    OnTriggerStay被随机调用,永远不要检查其内部的Input。

    在OnTriggerEnter和OnTriggerExit函数中设置为true和false的标志,然后检查该标志并输入Update函数(每帧)。

    private void Update()
    {
        if (Input.GetKeyDown(KeyCode.E) && triggerStay)
        {
            //
        }
    }
    
    bool triggerStay = false;
    
    void OnTriggerEnter2D(Collider2D collision)
    {
        Debug.Log("Entered");
        if (collision.gameObject.CompareTag("InteractiveArea"))
        {
            triggerStay = true;
        }
    }
    
    void OnTriggerExit2D(Collider2D collision)
    {
        Debug.Log("Exited");
        if (collision.gameObject.CompareTag("InteractiveArea"))
        {
            triggerStay = false;
        }
    }
  • 相关阅读:
    团队项目冲刺阶段一(6)
    每日日报
    每日日报
    每日日报
    每日日报
    每日日报
    每日日报
    每日日报
    梦断代码读后感
    每日日报
  • 原文地址:https://www.cnblogs.com/codeit/p/15478695.html
Copyright © 2011-2022 走看看