Unityでゲーム作成②_バイパー

今回はバイパー(変化弾)の作成に着手しました。 

 

前回の アステロイドを流用し、わかりやすいように色だけ変えます。

physx.hatenablog.com

 f:id:physx:20210716212943p:plain
そして曲がる用のスクリプトをアタッチ

Rigidbody rb;


void Start()
{
     rb = GetComponent<Rigidbody>();
}

void Update()
{
     if (Input.GetMouseButtonDown(0))
     {
     rb.velocity = Vector3.zero;
     rb.AddForce(-transform.right * 100, ForceMode.Impulse);
     }
     if (Input.GetMouseButtonDown(1))
    {
    rb.velocity = Vector3.zero;
    rb.AddForce(transform.right * 100, ForceMode.Impulse);
    }
}

バイパーを発射後、右クリックで右に、左クリックで左に進むようになっています。
 

さらに前回使用した発射スクリプト

右クリック→バイパーを発射

左クリック→アステロイドを発射

と書き換えました。

 

そしてバイパーに上記のスクリプトをアタッチすることで準備完了。
f:id:physx:20210716214818p:plain

ゲームを実行し右クリックと左クリックを繰り返すことで、画面内でバイパーが右と左を行き来する様子が見えます。

しかし弾の寿命を設定していないので、左クリック時のアステロイドや前に撃ったバイパーも見えています。

 

課題としては

・Destroy()で寿命を設定し、弾が消えるまで次弾を撃てないようにする。

・クリックやキーで曲げるのではなく、作中のようにいくつか軌道を設定したものを実装する

でしょうか。1番目はともかく2番目は時間もかかって非常に難しそうです。

次はハウンドに挑戦したいと思います。