C#
1public class test : MonoBehaviour { 2 private float now = 20.0f; 3 void clickDown() { 4 now = now - 1.0f; 5 } 6 void clickUp() { 7 now = now + 1.0f; 8 } 9}
clickDownとclickUpはそれぞれ別のUI buttonのOn Click用メソッドです。
問題点がclickDownに紐づいたボタンを押すと1ずつちゃんと減っているのですが、その後にclickUpに紐づいたボタンを押すと減っている現状のnowを参照せず、初期化時の値の20に足されてしまいます。
逆の手順でも同様な事が発生し、最初は1ずつ足されているのですが、その後1減らそうとすると初期化時の20から1減った状態が返ってきます。
インスタンスが複数できていると思うのですが、ボタンのほうのコードも提示できるでしょうか?
> x_xさん 「On Click用メソッド」と書かれているので、「Unityのエディタ上で設定しており、そのコードは存在しない」だと思われます。
> nakamuさん x_xさんの言う通り、testのインスタンスが複数あることが原因だと思われます。もし複数あるのであれば1つにしてください(testがボタン以外のオブジェクトにアタッチしている場合でも、On Clickに登録することができます)。それで解決できないor分からない場合はどのゲームオブジェクトに何がアタッチされているかが分かるように、スクリーンショットや説明を追記してください。
解決できました!ありがとうございます!
回答1件
あなたの回答
tips
プレビュー