⓵オブジェクトをタッチすると、別のオブジェクトが表示されるスクリプトを書いた。
C#
1using System.Collections; 2using System.Collections.Generic; 3using UnityEngine; 4using UnityEngine.EventSystems; 5 6public class ClickedAlly : MonoBehaviour, IPointerClickHandler 7{ 8 private bool touched = false; 9 public void OnPointerClick(PointerEventData pointerData) 10 { 11 12 GameObject parent = transform.parent.gameObject; 13 GameObject physical = parent.transform.GetChild(4).gameObject; 14 GameObject magic = parent.transform.GetChild(5).gameObject; 15 GameObject heal = parent.transform.GetChild(6).gameObject; 16 GameObject item = parent.transform.GetChild(7).gameObject; 17 if (!touched) 18 { 19 physical.SetActive(true); 20 magic.SetActive(true); 21 heal.SetActive(true); 22 item.SetActive(true); 23 Debug.Log(gameObject.name + " がクリックされた!"); 24 touched = true; 25 } 26 else 27 { 28 physical.SetActive(false); 29 magic.SetActive(false); 30 heal.SetActive(false); 31 item.SetActive(false); 32 Debug.Log(gameObject.name + " がクリックされた!"); 33 touched = false; 34 } 35 } 36 37}
その➁出現したオブジェクトも、クリックしたら➂ほかのオブジェクトを出現させる。
上とほぼ同じスクリプトを➁にもつけて➂を表示させるんだけど、
ほかの➁を触ったら、touchedをfalseにしたい。
ほかのオブジェクトを触った情報を持ってこれるスクリプトってunityのリファレンスとかで見かけた気がするけどいざ探すと出てきません。
記憶違いでしょうか。。。
なければ無理やりpublicのtouchedを4種類名前を変えて作って、boolのやり取りをしようと思います。
変な質問で申し訳ありませんが、公式スクリプトにほかのオブジェクトのタッチを検出っていうものを見つけたら教えてください。(できる限り調べました。もしかしたらキータの記事だったかも。)
回答1件
あなたの回答
tips
プレビュー