【问题标题】:Unity - Show a sprite when screen is touchedUnity - 触摸屏幕时显示精灵
【发布时间】:2018-12-29 17:55:11
【问题描述】:

我想要实现的是当玩家触摸屏幕时显示一个精灵,当一个角色到达精灵的位置时让它消失,我做了一张图片如果我不清楚,请想象我的话:

感谢您的帮助

【问题讨论】:

    标签: unity3d input rendering sprite


    【解决方案1】:

    添加之前的答案: 你应该从你的触摸位置进行光线投射:

    void Update()
    {
        Ray raycast = Camera.main.ScreenPointToRay(Input.GetTouch(0).position);
        RaycastHit raycastHit;
        if (Physics.Raycast(raycast, out raycastHit))
        {
            if (raycastHit.transform.GetComponent<BoxCollider2D>())
            {
                sprite.SetActive(false);
            }
        }
    }
    

    【讨论】:

      【解决方案2】:

      1) 显示精灵使用

      if (Input.touchCount > 0)
          { gameObjectToShow.SetActive(true); }
      

      2) 消除它:将 Collider 添加到 gameObjectToShow (2D Box 或 Circle),使其触发,增加该 Collider 的半径并使用 OnTriggerEnter 和 gameObjectToShow.SetActive(false);

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-12-27
        相关资源
        最近更新 更多