0 支持
62 閲覧

SliderのValueをInputFieldから取得した値で変更したいです。

以下のようなスクリプトで試しましたが、できませんでした。

具体的には、InputFieldに180を入力をし、確定した際に、public void Valueset()を呼び出し、

Sliderが、180の値を取得しているようにしたいです。

現状は、InputFieldに180を入力しても、Sliderの値は0のままです。

エラーが出なかったため、原因が特定できずに困っています。

public void Valueset()
    {
        float slope = gameobject1.GetComponent<InputManagerSlope>().inputslope;
 
        num = GetComponent<Slider>().value;
        
        num = slope;
    }
改善案をご教授願いたいです。
閉鎖
初心者 (400 ポイント)
閉鎖 | 62 閲覧

回答 1

+1 支持
ベストアンサー
public void Valueset() {
    float slope = gameobject1.GetComponent<InputManagerSlope>().inputslope;
    GetComponent<Slider>().value= slope;
}

おそらくこうだと思われますが……(inputslopeの内容が質問文の情報からは不確定なので確証はない

質問文のプログラムだと、これもnumが不確定(たぶん値型の変数な気がしますが)ですが、

float slope = gameobject1.GetComponent<InputManagerSlope>().inputslope; //slopeにinputslopeの値を代入
num = GetComponent<Slider>().value;//numにスライダーの値を代入
num = slope; // numにslopeの値を代入

となり、結局スライダーの値には何も代入されていません。
変数の代入は、上の行から順に、左辺を右辺の値にする、
が原則であり、数学的な書き方とは異なります。
ここまでの一連の質問を見る限り、プログラムそのものに不慣れな雰囲気がしますので、
まずプログラムの基礎を何かしら勉強する事をお勧めします。
達人回答者 (6.2k ポイント)
選択
0
ご回答ありがとうございます。
実装することができました。
GetComponent<Slider>().valueを左辺に置くことができることがわかっておらず、初歩的な質問をしてしまいました。

プログラムの基礎の勉強をもう一度行ってみます。

関連する質問

0 支持
1 回答
0 支持
1 回答
0 支持
0 回答
ポテトおもち 初心者 (120 ポイント) 1/12 質問 | 27 閲覧
2021-02-08 質問・回答をMarkdownで入力できるようにしました。
2020-09-03 新たなスパム対策を導入しました。

114 質問

121 回答

137 コメント

146 ユーザー