記事作成 2019年6月
PlayMaker 1.9.0 / Unity 2018.2.6f1
「状態遷移」で全体の流れを管理して、ゲームに仕立てます。
前回の 弾に当たった敵を消す プロジェクトを利用して、
「ゲーム開始」で敵が現れ、すべてを撃ち倒したとき「ゲームクリア」になるような
ゲームにしてみます。
まず、ゲーム内で使用するオブジェクトを作成します。
UIとして、『タイトル』 『ゲーム開始ボタン』 『クリア時の表示テキスト』を作ります。
Canvas の設定はお好みで。
『クリア時表示テキスト』
『ゲーム開始ボタン』
Event の設定はグローバルイベントを作成した後になります。
2020 / 09/14
* Play Maker U Gui Component Proxy を使うためには、エコシステムか
公式アドオンページで「 Package for uGUI Proxy With Full set of Actions 」
を入手し、インポートしてください。
参考 [UI] ボタンでイベントを送信する
----------------------------------------------
----------------------------------------------
敵の設定です。 弾に当たった敵を消す の敵をプレハブにしたものです。
(単にTag [t 敵] が付いただけの Cube です。)
ゲーム開始時にシーン上に生成します。
----------------------------------------------
空オブジェクトをつくり、「emp ゲーム管理」などと名前をつけ、状態遷移を設定します。
はじめの状態で、『タイトル』と『開始ボタン』を表示します 。 [Activate Game Object]
図のようなイベントを作成し、チェックを入れてグローバルイベントとします。
これで、『ゲーム開始ボタン』の送信イベントに [ゲーム開始] を指定できるので、設定します。
(文字はコピペしないと上手く設定できないかもしれません)
ボタンからの送信 [ゲーム開始] があると「タイトル、ボタン非表示」の状態で
『タイトル』『ボタン』を非アクティブ(非表示)に。
次の状態で、用意した敵オブジェを生成します。
出現場所は適当に位置で指定しています。
流れとしては飛びますが、[ゲームクリア] のイベント送信を受けると「「ゲームクリア」表示」
の状態で、『クリア時のテキスト』を表示し、その状態で Time 5 待ちます。
次の状態で、『クリア時のテキスト』を非表示にして、最初の「タイトル、ボタン表示」に戻ります。
----------------------------------------------
「emp 敵撃破数管理」 などと名前をつけた空オブジェクトに、倒した敵の数をチェックし、
ゲームクリアを判定する状態遷移を設定します。
撃破数をリセットします。 [Set int Value]
作成した変数です。
----------------------------------------------
「状態」に他の状態遷移内で作った、グローバルイベントを付けるには、図のようにカスタムイベント内から選択します。
また、流れは飛びますが、実際に敵を倒したときには、
[敵倒した] のイベント送信を受け取ります。 [敵倒した] のイベントはここで作ってください。
[敵倒した] からの状態で、変数 [int 倒した敵の数] に1を+します。[Int Add]
次の状態で、クリア条件数を上回ったかをチェックします。[Int Compare]
クリア数、2以上であればイベント「Yes」から遷移した状態で
[ゲームクリア] を、イベント送信します。[Send Evant By Name]
----------------------------------------------
----------------------------------------------
さて、「emp 敵撃破数管理」に [敵倒した] を送信するのはどこなのか?
弾プレハブの子オブジェ「接触判定」です。
プレハブ上のオブジェを選択し、状態遷移を変更します。
(プレハブ状態のままで変更できます。)
新たに作成した状態 「「敵倒した」送信」に [敵倒した] を送信するアクションを付けます。
これで、弾が、敵に当たったときに 「emp 敵撃破数管理」に、[敵倒した]が届きます。
(アクションは、状態「敵を消す」の先頭に付け足すこともできます)
ここまで見てきた方なら、あそこはこうやった方がいい、こうしてみたい…
とアイデアが浮かぶかもしれません。トライ・アンド・エラーでどんどん試して
みるといいです。
自分がゲームオーバーになる判定や、様々な効果、セーブやロード等々
落ち着いてやれば、組み上げることができるはずです。
----------------------------------------------
今回のプロジェクトをWebブラウザ用にビルドしてみました。
日本語表示の問題のため、フォントは変更してあります。
移動は方向キー。加速 Zキー、射撃 Xキーで操ってください。
https://sino.sakura.ne.jp/games/nagare_r/
別ウィンドウで開きます。
0 件のコメント:
コメントを投稿