// Playerが弾を撃つ(Space Shooter Tutorialの改変) // 解説記事 http://negi-lab.blog.jp/PlayerShooter
using UnityEngine;
// Playerが弾を撃つ(Space Shooter Tutorialの改変)
// 解説記事 http://negi-lab.blog.jp/PlayerShooter
public class PlayerShooter : MonoBehaviour
{
public GameObject shot; // 弾のゲームオブジェクト(Prefab)
public Transform[] shotSpawns; // 発射位置のTransform(複数指定可能)
public float fireRate; // 射撃間隔(連射の時間間隔)
private float nextFire = 0f;
provate AudioSource aud;
private void Start ()
=> aud = GetComponent<AudioSource> (); // AudioSourceをキャッシュしておく
private void Update ()
=> Shoot ();
private void Shoot ()
{
// Fire1 ボタンを押していて、射撃間隔を満たしたら
if ( Input.GetButton ( "Fire1" ) && Time.time > nextFire )
{
nextFire = Time.time + fireRate;
// すべての発射位置から弾を撃つ
foreach ( var shotSpawn in shotSpawns )
{
// それぞれの発射位置の座標と回転を参照して弾を生成する
Instantiate ( shot, shotSpawn.position, shotSpawn.rotation );
}
aud.Play (); // 射撃音の再生
}
}
}