ノンコードのゲームスタート・クリア・リスタート機能を作る
- BTA(Kelorin Jo)
- 2019年12月3日
- 読了時間: 2分
先週末は、エディタ拡張に挑戦してました。ゲーム作るよりは早くて需要もあると思って

自作の建物モデルセットを自動で組んで町を作れるエディタを作るのが目標です。
が。
ゲームオブジェクトを永続的に生成できる手段が、今の所自作エディタウィンドゥからの生成しか方法がないというのに、自作ウィンドウでは
インスペクターなららくらくできる配列変数やリストを入力する欄を作るのが地獄の難易度で、そこで通行止め…
※知らない人向けに説明すると、Unityはゲームプログラム・インスペクタの機能拡張・自作エディタ開発とで、できることできないことが微妙に違っていて、特に自作エディタは同じことするのに全く違う難しいコードを書かないといけない場合がほとんど
資料になる記事がほとんどない、あってもなぜかサンプルコードを打ち込んでもエラーになる。
先週から数えて脳味噌5回目の爆発
C#はホントにクソゲーだな!!!
しかし、だんだん文字の羅列に対する耐性がついてきてる。
気分転換に、ゲームのスタートとクリアとリスタートをノンコードで実装できるアセットを作ってみました。

・フォントでなく画像のロゴ兼ボタンです。絵心あれば簡単に差し替え可能

・スタート時とクリア時にスローまたはタイムストップの演出がつけられます

・シーンに置いたGamemanagerと、そこに割り当てたUIのロゴ(ボタン)3種だけで機能します。
イベントトリガーの力でスタートボタンを押したらスタートロゴが出現して、
スタートロゴはアニメーションの力で画面外に去りゲーム開始(DOTweenだと配布できないからアニメで動かすことにしました)

・何らかの方法でCleargameのフラグをオンにするか、ClearGameActionのイベントを呼び出せばゲームクリア。(手動でCleargameのチェック押したら即クリアします)
・ゲームクリアのロゴを押すか、RestartGameのフラグを立てたらリスタート(またはタイトル画面に戻る)です
・Unity2017.4以降から対応。
残る課題
・タイトル画面とメインシーンの遷移を実装中です。 ・DontDestroyOnLoadを使われると、一部のスクリプトの数値はリロードしても残り続けてしまいます。完全リスタートするにはどうにかそれらを消さないといけないけど、メインシーン中ステージクリア時にデストロイしても消えない。どうしたものか…
ノンコードでミニゲームが作れる、スコアがカウントできる、あとはノンコードのコライダートリガー、フラグ管理用カウンター、とかあれば、思いつきを即ゲームにして配布しやすくなるはず。
もう少し調整したら、EntyかFANBOXで配布します。