UnityのButtonの挙動がずっとおかしかったのがやっと直った話。
Unityでゲーム制作。
ボタン(Button)の挙動がずっとおかしかったのだけれども原因わからず解決せず。
やっと解決したので書き残しておきます。
同じシーンで、ボタンがくっついてるパネルをActiveにしたりInActiveにしたりして切り替えてました。
しかしゲーム動かしてパネルを出したりしまったりしてるとだんたんボタンの挙動がおかしくなる。ボタンに設定している効果音が二重になったり。
原因は、Buttonを動かすスクリプト、
onClick.AddLister(()=>
を、OnEnableで動かしてたのが問題でした。パネルを出し入れするたびに行う動作があるのでOnEnableメソッドを使っていたのですが、Activeになるたびにボタンが何度も設定されていたのですね。
OnEnableとStartを併用して使い、
パネルを出し入れする時の動作はOnEnableで行い、
ボタンはStartメソッドの中で行うことで解決しました。
人に聞いても解決せず、ずっと悩んでたのが解決してスッキリ!!