コンポーネントを移動する前のシーンから開始するには?(シングルトン) - TejimaTuyoshi/returnread GitHub Wiki
マップがあり、「トリガー」があるとする。
その際、方向と移動先を保存する必要がある。
そのため、「SingletonSystem」が必要になる。
では、このシステムもとい、コードは一体何をしているのか。
はっきり言おう。
分からん。
ちなみに長文にすると、
「既にそのクラスのインスタンスが存在する場合はオブジェクトごと破棄する」ことで「そのクラスのインスタンスが(シーン内に)一つしかない」状態を維持する。」
ちなみに、このコードを利用する際「UnityAction」が表示されるのだが、{デリゲート}なので注意しよう。[勉強。大事。]
DDOLが大事で、「シーンを跨いだオブジェクトの移行」が可能に。
しかし、「既にいる場合には消去する」ようにしないと重複して邪魔になる。
DDOLは「void awake」に書くことが多く、
「一個目は残り、指定した変数をnullではなくする。その後、入ってきたDDOLを消去して常時一個にする。」
これによって「マップをまたがっている」ように見える。
(実際はそのトリガーを踏んだら「プレイヤーの状態」と「スコア」を残して、プレイヤーの位置を移動、シーンのロードをする。)
ちなみにすべての場所につけるのではなく、
一か所だけそれにしておくことで、「デバッグ」がしやすい。
セレクトがあれば、そこでパラメータが初期化されるように設定すれば
プレイヤーも、プログラマーも楽にしっかり楽しめる!
開発自体に時間はかかるので、「練習はしよう!」
{そのクラスのインスタンスが一つしかないことを保証する作り方。}
しっかり覚えようね!
ちなみに、これについてはUnity以外ではやり方が変わるのでその場合はいっそのこと聞こう!