初心者が征く!オリジナルゲーム作成道 day10
こんにちは!インターン生の内村です!
いよいよこの記事も今回が最後になります。
今回は前回からゲーム完成までを解説していきます。
以下の手順で行います。
①スコアの導入
②敵キャラクターの追加・スコアによる生成変更
③ステージ変更・ゲームクリア画面の導入
【解説】
①スコアの導入
以下のように行います。
まずはスコアを表示するラベルをレイヤに作成します。
文字列で「”Score:”」を指定することによって画面に表示されます。
フォント(ここではArial)や位置を調節してレイヤに加えて完成です。
(今後呼び出される変数_scoreLavelにラベルを代入するのを忘れずに!)
先ほどの変数を切り替える関数を作成します。(上記のラベルはゲーム開始時に表示されるものでこちらは1秒ごとに変化するスコアを反映するものです)
この関数では”Score:”の後に変数_scoreTimesで更新された値が表示されます。
次に変数_scoreTimesの値を変更する関数を作ります。
これは1秒ごとに値が1増える変数_score(ちなみにこの変数はvar game の親クラスで宣言して0で初期化しておいてください)と40をかけた数に変更されます。
(なぜ40をかけるかというと250秒でゲームクリアのため、この処理を行うと最終スコアが10000になるからです)
次に先ほどの変数_scoreの値(最初は初期化されているため0)が1ずつ増えていく関数を作成します。
これは特に難しい処理ではないため割愛します。
そしてscheduleで引数を1にして1秒ずつ呼び出します。
(更新するための関数はすべてupdataで呼び出してください。)
これでスコアが自動で更新され画面へ反映されるようになりました。
② 敵キャラクターの追加・スコアによる生成変更
以下のように行います。
敵キャラクターの挙動についてはこれまでの記事やこの画像を参考に各自で作成してください!
この処理は①で作成したスコアをもとに生成される敵の種類を変更しています。
if文でまとめて分岐するようになっています。
({}の中ではunscheduleを使ってscheduleによる自動生成を止めています)
③ステージ変更・ゲームクリア画面の導入
以下のように行います。
この2つについてはゲームオーバーの処理を流用しています。
ネクストステージは敵の生成が変化するたびに実行してプレイヤーに知らせているためリスタートなどは削っています。
実行処理の例はこんな感じです!
以上でこのシューティングゲーム作成に関しての記事は終了です。
至らぬところばかりですが最後までお付き合いいただきありがとうございました。
自分の未熟さによって実装できずに終わった要素が多く悔しい思いはありますが、1つのゲームを完成させた達成感を得ることができました!
今後もゲーム制作を続けていく中で今度こそ悔いが残らないゲーム制作を行えるように日々精進していきたいと思います!
このゲーム制作では下記のサイトを参考にさせて頂きました!誠にありがとうございました。
https://creive.me/archives/9788/ けいしゃけ 様
素材をいただいたサイト様
https://www.irasutoya.com/
https://www.ac-illust.com/
興味を持たれた方はお気軽にお問い合わせください。
インターンシップへの申し込み・お問い合わせ先
