Unity

【Unity宴】Label管理には要注意。ループの罠がある

Unity

ここにStartラベルがあります。
*StartLabelですね。きわめて普通です。


さらに、下の方で選択肢式のシナリオジャンプがあります。
似たような名前になっていて、そのトップページに移動するかどうかです。


飛んだ先で表示するSelectionコマンドのプレハブタイプが増えたりします。ここまではよかった。


冒頭にあった*StartLabel、これが飛んだ先のラベルにもあったけどループするという罠が発生しました。

一見するときっちり遷移しているようでしてないという、たまにボタンを押しても画面すら切り替わらないという状態になったことから確定でループしてますよね。
*のSelectionコマンドとラベルで反応して冒頭とこの間でループすることで、その後ろにあるプレハブが表示されないという問題が起きました。

ビューアーを見ていて、何も動いてないということに気がついてよくよく見たらラベルがあるし、もしかしてこいつが反応してるんじゃないかと思って削除したら解決しました。

Viewer | Unity用ビジュアルノベルツール「宴」
ゲーム実行中のシナリオ内部の状態を可視化するビュワーです。 Scenario Viewer シナリオビュワーで


このビューアー、翻訳対象も一緒に出てくれるので便利でした。
ティラノスクリプトでこういうの見てたけど、登録言語全部出てくれるのありがたい。


ラベルでこういう状態になるので、下手なラベル付けは気をつけようと思いました。
なんなら、シナリオから抜け出すためにこういう記述を用意しているわけですが、個別でこれを変えていくと機能しなくなるわ、無駄に増えていくとかで何もできないのが*BackというGUI。


今のところ不具合になるような影響がないので、コンソールにエラーが出てようが無視してます。基本的にメニュー画面に戻るための処理でしかないですが、コンソールに重複エラーはひたすら出る。名前変えて管理するとその分だけこのボタンが増え続けるという悪手。
なんかあったら次はこいつを疑う。

コメント