iOSでは、OnMouseDown()がサポートされていません。
その他、iOSでサポートされていない機能については、Unityのマニュアルを参照
Unity iOSが現在サポートしていない機能
http://docs-jp.unity3d.com/Documentation/Manual/iphone-unsupported.html
従って、オブジェクトがタップされた際の処理を行うには、自分でレイを飛ばしてヒットテストを行う必要があります。
タップされた位置のオブジェクトを識別するには、以下のようになります。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
void Update () { if(Input.touchCount == 1) { Touch touch = Input.GetTouch(0); if(touch.phase == TouchPhase.Began) { RaycastHit hit = new RaycastHit(); Ray ray = Camera.main.ScreenPointToRay(touch.position); if(Physics.Raycast(ray, out hit)) { // case - 1 print("Tapped " + hit.transform.name); // case - 2 hit.transform.gameObject.SendMessage("ClickHandler"); // case - 3 if(this.name == hit.transform.name) print("Tapped ME!"); } } } } |
例として、3つの処理を記述してあります。
case – 1:タップされた位置にあるオブジェクトの名前を表示
case – 2:タップされたオブジェクトのClickHandler()を呼び出す
case – 3:タップされたオブジェクトの名前と自分の名前が一致したら・・・
コメントを残す
コメントを投稿するにはログインしてください。