山傘のプログラミング勉強日記

プログラミングに関する日記とどうでもよい雑記からなるブログです。

[Unity Tutorial] 2Dシューティングをつくろう その2

2Dシューティング

unity3d.com

公式のサイト通りに進めれば間違いないはずですが、所々間違えてしまいます。集中せねば。

これまでの成果

youtu.be

動画の通り、プレイヤを動かして弾が自動的に発射しています。処理としては、当たり判定と弾の消滅の判定があります。詳しくは公式へ。

以降は各章のコメントをしていきたいと思います。

1. スプライトとスプライトアニメーションの作成

機体や弾の画像が用意されているので、それらをゲームオブジェクトに変換する作業を行います。

用意されている画像はキャラチップのようなものなので、切り取って使います。切り取った画像をgifファイルのようなものにまとめることで、機体などアニメーションがつきます。

2. プレイヤーの移動

機体にRigidbody2Dをアタッチし、スクリプトを付加させることで、キー入力で機体を動かすことができます。

3. プレイヤーから弾を撃つ

弾の設定を行います。

弾の設定を行った後で、ゲームを再生すると弾が発射されるんですが、hierarchy上にはたくさんの弾のクローンが現れます。5章で消滅の処理を追加するまで気にしないようにしましょう。

この章で気になった点があります。それは、機体と弾の位置関係ってどのようにして紐づけられているんでしょうか。期待が動くと弾も同じように移動するんですが、どうなっているのかいまいち分かりません。

と書いてみたんですが、見直してみるとスクリプトで指定しるんですね。でも、弾の位置を最初にx = 0.14としてるのも関係あるのかな?位置関係が良く分かりませんが、そのうち理解できるでしょう。

4. 敵を作成しよう

基本的にはプレイヤの期待を作ったときと同じように作成します。

敵の弾は円形で3方向に発射されるのがつよそうです。

5. 当たり判定とアニメーションイベントとレイヤー

内容が非常に多いです。

当たり判定の処理を記述するために説明量が多くなっています。

Polygon Collider 2Dの設定を行うのに手こずりました。それと、レイヤの名前で、"Bullet (Player)" とかがあるんですが、括弧の前に半角スペースがあるのに注意します。まあ、スクリプトをコピペで済ませば関係ありませんが。

それとレイヤの設定で名前とかがあらかじめ記入されているのは、完成品のパッケージで作っているからなんでしょうか。まあ、楽でいいんですが。

感想

寺子屋のアクションゲームを始める前に、このシューティングを終わらせたいと思います。本と違ってWebで見ることができので、コピペとか楽ですね。ただ、僕の環境はノートパソコンなので、画面がきつきつです。