[アイテムリスト]範囲外のインデックスを使って要素にアクセスしようとしていることが原因のエラー | Unity Forum | Tech Stadium Forum

[アイテムリスト]範囲外のインデックス...
 
通知
すべてクリア

[アイテムリスト]範囲外のインデックスを使って要素にアクセスしようとしていることが原因のエラー  

  RSS

Student
(@student)
メンバー Moderator
結合: 4年前
投稿: 1351
29/04/2023 9:54 pm  

アイテムリストのサンプルアセット内に含まれる、ItemListManagerのスクリプトに関して質問させていただきます。
こちらサンプルアセットを参考にしながら、同じものを作成しようとしてみたのですが、動かす際にエラーを吐いてしまいます。
範囲外のインデックスを使って要素にアクセスしようとしていることが原因のエラーらしいのですが、こちらを解決するにはどのようにスクリプトを修正すればよろしいでしょうか。
※エラーを見ると31行目に問題がある、となっていそうですがコンソールエラーが出ていないです

This topic was modified 2年前 by Student

引用
Teacher
(@admin)
メンバー Admin
結合: 5年前
投稿: 1318
29/04/2023 9:55 pm  
仰る通り、

範囲外のインデックスを使って要素にアクセスしようとしていることが原因のエラー

このエラーが原因なので、31行目の
_funcButtons[(int)BTN.Add]
が原因とわかります。次に Inspector を見ると、添付の画像の通り _funcButtons の配列に、ボタンの参照が追加されていないことがわかります。この _funcButtons に適切にボタンを設定すれば、解決できると思います。

返信引用
Student
(@student)
メンバー Moderator
結合: 4年前
投稿: 1351
29/04/2023 9:56 pm  

ご回答ありがとうございます。

こちらfuncButtonsにボタンを配置したところ、該当のエラーが解消されました。コンソールエラーに関しても、丁寧な解説ありがとうございます。

立て続けの質問になるのですが、今度は別のエラーが発生し、そちらに関してもお伺いしたいです。

こちらは原因が分かっていまして、恐らくItem Contents(script)内のThis Btn Txtが空白のためエラーになっているのですが、ここに中身を入れることができません。

こちらに関して、どのようにすれば中身を入力することができますでしょうか。立て続けになり申し訳ありませんが、ご確認いただけますと幸いです。


返信引用
Teacher
(@admin)
メンバー Admin
結合: 5年前
投稿: 1318
29/04/2023 9:57 pm  
ItemListManager の itemPrefab に指定したプレファブを Project ウィンドウからダブルクリックして開いてみてください。
もしそのプレファブがどこか分からない場合は ItemContents コンポーネントがアタッチされたオブジェクトを探してください。次に、そのプレファブを開いた編集モードになったら Self Btn に設定されたボタンの子にある Text を This Btn Txt にセットすることができると思います。シーン上のオブジェクトの編集と、プレファブの編集は、操作が異なることを理解できると良いと思います。

こちらサンプルアセットを参考にしながら、同じものを作成しようとしてみた

また、この作業は勉強になるのでとても良いと思いますが、完成されたプロジェクトの Inspector 上でどのオブジェクトが設定されているかを、随時確認しながら学ぶと、更に理解が深まると思います。 https://docs.unity3d.com/ja/2020.3/Manual/EditingInPrefabMode.html

返信引用
Student
(@student)
メンバー Moderator
結合: 4年前
投稿: 1351
29/04/2023 9:57 pm  
ご回答ありがとうございます。手順通りに操作し、無事動かすことができました。プレハブの編集モードでしか変更できない要素があることも理解できました。

また、この作業は勉強になるのでとても良いと思いますが、完成されたプロジェクトの Inspector 上でどのオブジェクトが設定されているかを、随時確認しながら学ぶと、更に理解が深まると思います。

はい、こちらについても完成品の構成をしっかり確認しながら学習していきます。ご教授いただきありがとうございました。

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