void OnTriggerEnter2D(Collider2D coll) { if (!coll.isTrigger) { switch (coll.tag) { case "Enemy_1": Enemy enemy = coll.GetComponent <Enemy>(); if (enemy != null) { enemy.ChangeColor(); enemy.TakeDamage(damage); Destroy(gameObject); Instantiate(Bullet_death, gameObject.transform.position, gameObject.transform.rotation); } break; case "Enemy_3": Enemy_3 enemy_3 = coll.GetComponent <Enemy_3>(); if (enemy_3 != null) { enemy_3.ChangeColor(); enemy_3.TakeDamage(damage); Destroy(gameObject); Instantiate(Bullet_death, gameObject.transform.position, gameObject.transform.rotation); } break; } } }
// Start is called before the first frame update IEnumerator Start() { // Enemy_3コンポーネントをシーン内から探して取得する enemy_3 = FindObjectOfType <Enemy_3>(); //●この構文めっちゃ便利!! for (int i = 0; i < enemys.Length; i++) { //スタート位置を記憶させる startPoint[i] = enemys[i].transform.position; Debug.Log("①現在の配列は?" + enemys[i]); //引数①動かす敵 引数②到達点を指定して、シーケンスを実行。シーケンスである必要性あるか? enemy_3.AttackSequence(enemys[i], arrivalPointObj[i].transform.position, go); // 0.5秒待つ yield return(new WaitForSeconds(0.5f)); } //スタート位置に戻らせる for (int j = 0; j < enemys.Length; j++) { go = false; //引数①動かす敵 引数②到達点を指定して、シーケンスを実行。シーケンスである必要性あるか? enemy_3.AttackSequence(enemys[j], startPoint[j], go); // 0.5秒待つ yield return(new WaitForSeconds(0.5f)); } }