Unityにてプロパティを使用し、値をsetしましたが、他のスクリプトから呼び出した時反映されていませんでした。
FPS風のゲームを作成しており、
オプション画面のスライダーで設定した値を、他スクリプトに反映させたいです。
エラーメッセージは何も出ていません。
#スクリプトなどの情報
●プロパティのスクリプト
C#
1 public float Sensitivity 2 { get; set; } = 3f;
●スライダーのスクリプト
C#
1Slider Slider; 2property Sensityvity = new property(); 3 4 void Start() 5 { 6 Slider = GetComponent<Slider>(); 7 8 float maxHp = 6f; 9 float nowHp = Sensityvity.Sensitivity; 10 11 //スライダーの最大値の設定 12 Slider.maxValue = maxHp; 13 14 //スライダーの現在値の設定 15 Slider.value = nowHp; 16 } 17 18 void Update() 19 { 20 Slider.value = Sensityvity.Sensitivity; 21 } 22 23 public void Method() 24 { 25 Debug.Log("現在値:" + Slider.value); 26 Sensityvity.Sensitivity = Slider.value; ★ 27 Debug.Log(Sensityvity.Sensitivity); 28 }
★の箇所で、setさせてプロパティのSensitivityの値を変更させたつもりでいたのですが、
再度オプション画面を表示させた時、値に変更はされていません。
デバックログで確認した際★の瞬間ではSensityvity.Sensitivityの値は変更されています。
他のスクリプト上でも、以下で値を確かめてみましたが、
property Sensityvity = new property();
Debug.Log(Sensityvity.Sensitivity);
プロパティの値は変更されていませんでした。
#補足情報
Unityのバージョン : 2019.4.22f1
何かわかることがあれば、教えていただきたいです。
以上、よろしくお願いいたします。
回答1件
あなたの回答
tips
プレビュー