2020年7月1日水曜日

使えるコード集 #1 「Singleton シングルトン」


おはこんばんにちは!ゲーム開発で気づいたらご飯も食べずに深夜までおきてるギルガメです!

今回は開発中に「これすごい使える!」と思ったことを忘れないようにブログにしていきたいと思います。沢山やくに立つコードがあって、人の頭って永遠に記憶を保存できないので(ギルガメがただすぐわすれてしまうだけ)、こうして残すことであとで「そういえばこういうのあった!使おう!」というパターンがよくあるので、こうしてシンプルに残していきます!

今回はすごく役に立つと思ったのは「シングルトン」です!

簡単に説明すると、シーンが切り替わる場面で残しておきたいゲームオブジェクトがあるときに、例えばゲームの進行やデータをシーン移行時に削除されずに次のシーンに残しておきたい場合は、「DontDestroyOnLoad」を使います。

ですが、これだけだとそのゲームオブジェクトが作成されるシーンに戻るとそのゲームオブジェクトが二つになるので、とてもよくないです。こういうのがあって、めんどくさいコードを増やした時がありました。

それを回避するためにこのシングルトンが役に立ちます!

singleton.cs

シーンで被ってほしくないゲームオブジェクトにこれを追加します。また「isPersistant」にチェックを入れることで、シーンに戻ってきたときにすでに存在しているかを確認して、前にあったものをキープしてくれます。

これ・・すごい役にたった。もっと前に知りたかった・・。でも出会ってくれてありがとう。

これはどのゲームでもとても役に立つと思うので、忘れないようにしよう。うん。

以上、シングルトンでした!

0 件のコメント:

コメントを投稿