2016-05-07 42 views
1

私が作成したUIイメージをクリックすると、 'void OnMouseDown()'関数が機能しません! 物事は私が試してみました: Unity 2D - OnMouseDown()が動作しない

  1. リスト項目
  2. は良いサイズ
  3. 設定ボックスに
  4. 設定ボックスのコライダーを-1にキャンバスに入れ
  5. 再インポート資産
  6. Zを設定します2dの代わりにコライダー3D これはどれも私にとってはうまくいかなかった、助けてください!

マイスクリプト:

public class btnPlay : MonoBehaviour, IPointerDownHandler { 

    Vector3 pos; 

    // Update is called once per frame 
    void Update() { 
     pos = new Vector3 (Screen.width/4.6f, Screen.height/1.58f, -1f); 
     transform.position = pos; 
    } 

    void OnPointerDown(PointerEventData p) { 
     Debug.Log ("X"); 
     SceneManager.LoadScene ("Level"); 
    } 
} 
+0

UIの 'OnPointerDown(PointerEventData)'(実際には新しいUIの背後にあるEventSystem)に感謝します。問題のあなたのUI要素がOnPointerDownを提供していない場合、 'UnityEngine.EventSystems'にある' IPointerDownHandler'インターフェースを実装できます(本当に簡単です、それは複雑です) – yes

+0

私はインターフェースを追加しています * 'btnPlay 'は、インターフェイスメンバ' UnityEngine.EventSystems.IPointerDownHandler.OnPointerDown(UnityEngine.EventSystems.PointerEventData)'と実装候補 'btnPlay.OnPointerDown(UnityEngine.EventSystems.PointerEventData)'を実装していません。公開していない* btnPlayはgameObjectにスクリプトを添付して – D4NieLDev

+0

に公開します。そのボタンの場合は、ボタンを使用しないでください。インスペクタでターゲットを割り当てることができるだけのことがすべてあります。 – yes

答えて

0

はちょうど私がpublicにメソッドを変更し、よりインターフェースIPointerDownHandlerusing UnityEngine.EventSystems を追加しました。 答えを提供するための@yesのおかげで、

関連する問題