ここでは「一定時間ごとに自動で発射」する敵の作り方を説明します。
1)スクリプトの作成
・「EnemyShotShell」スクリプトをダブルクリック。
・この中に下記のコードを追加してください(<追加>の部分)
using UnityEngine; using System.Collections; public class EnemyShotShell : MonoBehaviour { public GameObject shellPrefab; public float shotSpeed; public AudioClip shotSound; // <追加> private int count = 0; // <追加> void Update(){ count += 1; // 100フレームごとにEnemyShot()メソッドを実行する。 if(count % 100 == 0){ EnemyShot(); } } public void EnemyShot(){ GameObject shell = Instantiate(shellPrefab, transform.position, Quaternion.identity) as GameObject; Rigidbody shellRigidbody = shell.GetComponent<Rigidbody>(); shellRigidbody.AddForce(transform.forward * shotSpeed); AudioSource.PlayClipAtPoint(shotSound, transform.position); Destroy(shell, 1.5f); } }
(ポイント)
・「%」の意味をおさえること。
・「==」の意味をおさえること。
・コードが書けたらチェック。
・再生ボタンを押して確認してみましょう。
一定間隔で敵が自動的に砲弾を発射すれば成功です。
これで「1種類目の敵」ができました。
今後、「敵の種類」を増やしていきますので、自分でわかりやすいようにそれぞれの敵に名前を付けましょう。
(サイト紹介)
『CodeGenius | Unity初心者のための学習サイト』