ここでは一番シンプルな敵の攻撃の作り方を紹介します。
(敵のミサイルと発射口を作る)
・ミサイルはプレーヤーのミサイルの作り方を復習しましょう。
<作成ポイント>
*作成したミサイルは「Prefab」化すること
*「Tag」は「EnemyShell」とすること
*「Is Trigger」にチェックを入れること
*「Rigidbody」を付けた後「Use Gravity」のチェックを外すこと
・発射口は「Create Empty」で作成→名前は「EnemyShotShell」に変更
・EnemyAの子供にして「親子関係」を作る。
(敵ミサイル発射のスクリプトを作成する)
ここでは「一定時間ごとにミサイルを発射」するものを作ります。
・新しくC#スクリプトを作成→名前を「EnemyShotShell」に変更
・下記のコードを記載してください。
using System.Collections; using System.Collections.Generic; using UnityEngine; public class EnemyShotShell : MonoBehaviour { public GameObject enemyShellPrefab; public float enemyShotSpeed; private int timeCount = 0; void Update () { timeCount += 1; if (timeCount % 100 == 0) { GameObject enemyShell = Instantiate (enemyShellPrefab, transform.position, Quaternion.identity) as GameObject; Rigidbody enemyShellRB = enemyShell.GetComponent<Rigidbody> (); enemyShellRB.AddForce (-transform.forward * enemyShotSpeed); Destroy (enemyShell, 1.5f); } } }
・コードが書けたらチェック→スクリプトを「EnemyShotShdell」オブジェクトに付ける→スピード等を設定しましょう。
ここまでてきたら再生ボタンを押してみましょう。
一定時間ごとに敵がミサイルを発射すれば成功です。
(発展)
*敵ミサイルの「発射間隔」を変更してください。