如何激活一个按钮,只有当玩家从按钮边界内释放

本文关键字:按钮 玩家 边界 释放 何激活 激活 一个 | 更新日期: 2023-09-27 18:13:09

我希望我的按钮只在玩家从按钮边界内释放时才工作。如果玩家滑动他/她的手指并离开按钮的边界,我不希望它做任何事情。这是一个基于触摸的界面。

我可以在下面的代码中添加什么来使它工作:

void OnMouseUp(){
            Application.LoadLevel ("MoonWalker");
    }

如何激活一个按钮,只有当玩家从按钮边界内释放

首先,对于基于触摸的界面,您应该使用TouchPhase代替。(我已经在我的评论中发布了链接)

要使按钮仅在触控释放在其边界内时才工作,您需要Raycast检测触控释放位置是否在按钮内。如果是,那就做点什么,如果不是,那就什么都不做。

void Update(){
   foreach(Touch touch in Input.touches) {
      if(touch.phase == TouchPhase.Ended) {
         Ray ray = Camera.main.ScreenPointToRay(touch.Position);
         if (Physics.Raycast(ray, out hit)) {
            if(hit.GameObject.name == "Button")
               //do something
         }
      }
   }
}