public int reward = 5; //弾数をいくつ回復させるか void OnTriggerEnter(Collider col) { if (col.gameObject.tag == "Player") { //Findメソッドは「名前」でオブジェクトを探し特定する //「ShotShell」オブジェクトを探し出して、それに付いているShotShellスクリプト(component)のデータを取得 //取得したデータをSSの箱の中に入れる ss = GameObject.Find("ShotShell").GetComponent <ShotShell>(); //ShotShellスクリプトの中のAddShellメソッドを呼び出す //rewardで設定した数値分だけ弾数が回復 ss.AddShell(reward); //アイテムを画面から削除 Destroy(gameObject); //アイテムゲット音を出す //MainCameraタグが付いているカメラの側で音を発生させる AudioSource.PlayClipAtPoint(getSound, transform.position); //アイテムゲット時にエフェクト発生 GameObject effect = (GameObject)Instantiate(effectPrefab, transform.position, Quaternion.identity); //エフェクトを0.5秒後に消す Destroy(effect, 0.5f); } }
private int reward = 5; // 弾数をいくつ回復させるかを決める。 void OnTriggerEnter(Collider other) { if (other.gameObject.tag == "Player") { // (重要ポイント) // Find()メソッドは、「名前」でオブジェクトを探し特定します。 // 「ShotShell」オブジェクトを探し出して、それに付いている「ShotShell」スクリプト(component)のデータを取得。 // 取得したデータを「ss」の箱の中に入れる。 ss = GameObject.Find("ShotShell").GetComponent <ShotShell>(); // ShotShellスクリプトの中に記載されている「AddShellメソッド」を呼び出す。 // rewardで設定した数値分だけ弾数が回復する。 ss.AddShell(reward); // アイテムを画面から削除する。 Destroy(gameObject); // アイテムゲット音を出す。 // MainCameraのタグが付いているカメラの側で音を発生させる。 AudioSource.PlayClipAtPoint(getSound, Camera.main.transform.position); // アイテムゲット時にエフェクトを発生させる。 GameObject effect = (GameObject)Instantiate(effectPrefab, transform.position, Quaternion.identity); // エフェクトを0.5秒後に消す。 Destroy(effect, 0.5f); } }
private void OnTriggerEnter(Collider other) { if (other.gameObject.tag == "Player") { ss = GameObject.Find("ShotShell").GetComponent <ShotShell>(); ss.AddShell(reward); Destroy(gameObject); AudioSource.PlayClipAtPoint(getSound, transform.position); GameObject effect = Instantiate(effectPrefab, transform.position, Quaternion.identity); Destroy(effect, 0.5f); } }