2017-06-26 10 views
0

私はマウスマネージャースクリプトを作成しています。インスタンス化されたテキストオブジェクトを左クリックして1つのことを行い、右クリックしたときに何か他のことをしたいと思っています。問題は、イベントトリガーにパラメータを送信できないということです。OnCLickと基本イベントデータを送信しても、どのボタンがクリックされたのかわかりません。特に私はオブジェクトを削除するために右クリックしたいので、私は単にテキストオブジェクトを右クリックする必要があるので、私は単にUpdateを使用することはできません。私は見て、見て、これは解決策を見つけるために共通の問題だと思うだろうが、悲しいかな。Unity right click outside of update

既にOnEnterとOnExitがあり、テキストの色が変わります。 誰かが解決策を持っていますか? ありがとう!

答えて

1

誰かがこの種の問題について髪を引き出している場合。私は最終的に解決策を見つけ、それは非常にうまく機能します。だから私はそれを共有します。

using UnityEngine; 
using UnityEngine.EventSystems; 
using UnityEngine.Events; 

public class RightClick : MonoBehaviour, IPointerClickHandler 
{ 

    public UnityEvent leftClick; 
    public UnityEvent middleClick; 
    public UnityEvent rightClick; 

    public void OnPointerClick(PointerEventData eventData) 
{ 
    if (eventData.button == PointerEventData.InputButton.Left) 
     leftClick.Invoke(); 
    else if (eventData.button == PointerEventData.InputButton.Middle) 
     middleClick.Invoke(); 
    else if (eventData.button == PointerEventData.InputButton.Right) 
     rightClick.Invoke(); 
} 

}