ゲーム制作日誌① 2Dシューティングゲームのチュートリアル

こんにちは!「マリオカート8DX」を買おうかどうか迷っている男、M-Jadeです!

前回予告した通り、今回は2Dシューティングゲームのチュートリアルをやっていきたいと思います。

チュートリアル② 2Dシューティングゲーム

Contribute to 2d-shooting-game development by creating an account on GitHub.

今回参考にするのはこちらのページです。

余談にはなりますが、実は私2Dシューティングゲームってあんまりやったことがないのです。

一番最近やったのが「すれ違いシューティング」かな?

シューティングゲームがアーケードで流行ってた時代に生まれてたら、私もやり込んでたのかもしれませんね。

まぁ、今はチュートリアルなんで、プレイ経験に関してはそんなに関係ないでしょう。多分。

制作の途中経過


4.3

EnemyのSpeedを0.5に設定したけど妙に早い。値弄ってもあんまり変わらないし…

→Gravity Scaleを0にし忘れるとこの辺の変更が利かなくなるらしい。要注意。

5.3

Circle Collider 2DのRudiusをチュートリアルの通りに0.14にしたらスプライトと同じ大きさにならなかった。原因は不明。

→仕方が無いので値を0.07に変更しました。

8.3 補足

Unity5.6の場合だと、図のようにドラッグ&ドロップするだけではアタッチができない模様。

正しい手順を以下に載せておきます。

  1. Explotion PrefabにAudio Sourceを追加
  2. Audioclipにboomをドラッグ&ドロップ
  3. Play on Awakeにチェックが付いてるか確認する
  4. Explotion.csに「GetComponent<AudioSource>().Play();」を追加

これでちゃんと破壊時の爆発音が鳴るはずです。

9.2

Spaceship.csを抽象クラスとして扱う方法を実際にやってみましたが、EnemyクラスのMoveメソッドのところでNullReferenceExceptionを吐いてきました。

しかもPlayerも動かなくなってるし…

で、物は試しにPlayer PrefabにSpaceship.csをアタッチし直そうとしてみたところ、「abstractクラス入れんじゃねーぞバーカ!」的なニュアンスのメッセージが出ました。

うーん…どうすればよいのやら。仕方がないので、抽象クラスを使った記述を一旦諦めて、コードを元に戻します。

10.1

Font Size:60だとデカすぎたので30に修正

11.2

Add Curve → Add Propertyになってました。

そして、完成したのがコチラ。

PCのみ対応で、操作方法はキーボードの方向キーで移動です。

さて、今回の記事はこの辺で終わりとしましょう。
最後まで読んでいただき、ありがとうございました。

スポンサーリンク
レクタングル(大)広告1
レクタングル(大)広告1

シェアする

フォローする