SliderAction.csではGetComponent関数でSliderの値を取得しにいっているからScriptを直接アタッチし、値を取得する必要があるのか | Unity Forum | Tech Stadium Forum

SliderAction.csではGe...
 
通知
すべてクリア

SliderAction.csではGetComponent関数でSliderの値を取得しにいっているからScriptを直接アタッチし、値を取得する必要があるのか  

  RSS

Student
(@student)
メンバー Moderator
結合: 4年前
投稿: 1325
01/09/2022 12:09 am  

UIの学習に関して質問させてください。

UIの学習①動画ではButton、
UIの学習②動画ではSliderを扱いましたが、

①ButtonではButtonManager(空のオブジェクト)を作りそこにButtonAciton スクリプトをアタッチ、そしてそれをInspectorのOn Click()部分へドラッグ&ドロップ
②Sliderでは空のオブジェクトを作って介さず、Sliderオブジェクトにスクリプトをアタッチ後、Sliderオブジェクト自体をOn Value Changed(Single)へドラッグ&ドロップ

この違いは何故なのか、と考えた時、SliderAction.csの方ではGetComponent関数でSliderの値を取得しにいっており、
このためScriptを直接アタッチし、値を取得する必要があるのか?と考えました。
(試しにSliderの方も空のオブジェクトを作ってButtonと同じようにしてみましたが、エラーになりました。
Buttonの方はSliderと同じやり方でも成功しました)

動画はSliderにてScriptを直接アタッチせず、Managerオブジェクトを使用した場合(失敗)と、
ButtonでScriptを直接アタッチし、Buttonオブジェクトを使用した場合(成功)を撮影しています。

以上、よろしくお願いいたします。


引用
Teacher
(@admin)
メンバー Admin
結合: 4年前
投稿: 1296
01/09/2022 12:10 am  

SliderAction.csの方ではGetComponent関数でSliderの値を取得しにいっており、このためScriptを直接アタッチし、値を取得する必要がある

仰る通りです。
GetComponent を使う場合は、そのオブジェクトに指定のコンポーネントがアタッチされている必要があります。
 

返信引用
共有:
タイトルとURLをコピーしました