unityにて、落ちているItemのタグを付けたアイテムを拾う(destroyでアイテム削除)ことができる処理を作成したのですが、2個とも重なっているアイテムを拾うと一回ボタンを押すと二つとも拾ってしまう処理を一つずつ拾うように処理させたいのですが、その方法が検討つきません。
ご教授のほどお願い致します。
using
1using System.Collections.Generic; 2using UnityEngine; 3using UnityEngine.UI; 4using InputKey; 5using UnityEngine.SceneManagement; 6 7public class Item_IventAction : MonoBehaviour 8{ 9 public AudioClip audio01; 10 GameObject unityChan; 11 GameObject Equipsetimage; 12 GameObject Equipsetimage2; 13 GameObject Equipsetimage3; 14 15 FadeContraller fadecontrallerScript; 16 PlayerScript4 playerscript; 17 EquipSetImage1 equipimageScript; 18 EquipSetImage2 equipimage2Script; 19 EquipSetImage3 equipimage3Script; 20 21 22 23 public bool Item = false; //普通のアイテムかの判別の時に必要なもの 24 public bool KeyFlag = false; //フラグを作るために必要なアイテムかの判別に必要なもの 25 26 27 AudioSource audioSource; 28 Animator anim; //アニメ 29 EnemyItem enemyItem1; 30 31 // Start is called before the first frame update 32 void Start() 33 { 34 audioSource = GetComponent<AudioSource>(); 35 Equipsetimage = GameObject.Find("EquipImage"); 36 Equipsetimage2 = GameObject.Find("EquipImage2"); 37 Equipsetimage3 = GameObject.Find("EquipImage3"); 38 unityChan = GameObject.Find("UnityChan"); 39 equipimageScript = Equipsetimage.GetComponent<EquipSetImage1>(); 40 equipimage2Script = Equipsetimage2.GetComponent<EquipSetImage2>(); 41 equipimage3Script = Equipsetimage3.GetComponent<EquipSetImage3>(); 42 fadecontrallerScript = AntenPanel.GetComponent<FadeContraller>(); 43 playerscript = unityChan.GetComponent<PlayerScript4>(); 44 anim = GetComponent<Animator>(); 45 } 46 47 // Update is called once per frame 48 void Update() 49 { 50 if (MyInput.MyInputKeyDown(KeyCode.C) || Input.GetKeyDown("joystick button 1")) //イベントアクション 51 { 52 53 } 54 } 55 56 void OnTriggerStay2D(Collider2D col) 57 { 58 if (Input.GetKeyDown(KeyCode.C) || Input.GetKey(KeyCode.C) || Input.GetKeyDown("joystick button 1")) 59 { 60 //アイテムを拾うとき 61 if (col.gameObject.tag == "Item") 62 { 63 if (equipimageScript.EquipImageSet1 == false || equipimage2Script.EquipImageSet2 == false || equipimage3Script.EquipImageSet3 == false) //アイテムスロットが満タンではないなら拾うことができる 64 { 65 audioSource.PlayOneShot(audio01); 66 anim.SetBool("Action1", false); 67 anim.SetBool("IventAction", true); 68 Destroy(col.gameObject); 69 } 70 } 71 72 73 //キーアイテムを拾うとき 74 if(col.gameObject.tag == "KeyItem") 75 { 76 audioSource.PlayOneShot(audio01); 77 KeyFlag = true; 78 anim.SetBool("Action1", false); 79 anim.SetBool("IventAction", true); 80 Destroy(col.gameObject); 81 } 82 } 83 } 84} 85コード
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/11/20 05:50