前提・実現したいこと
scrollViewをクリックした時にテキストの内容を取得したいのですが,
最後の内容がセットされます。
該当のソースコード
unity
1 public void ChangeGazo() 2 { 3 var textaa = Node_Label; 4 Debug.Log("puzzle-x!" + textaa); 5 } 6
「どのScrollViewを〜」ということは、ScrollViewが複数あるということですか?
"Node_Label"という名前のオブジェクトが複数あったりしますか?
返事が遅くなり申し訳ありません。
ScrollViewもNode_Labelも一つしかありません。
どのスクロールバーを押しても最後のデータを取って来ているようなのです。
Node_Labelが1つしかないなら、そこのデータを取ってくるのは当然ではないですか?
(このスクリプトは「シーン上にあるNode_Labelという名前のオブジェクトの子であるTextを取得」という意味ですが)
クリックしたラベルの取得方法を教えて欲しいのですが。
「ScrollViewをクリックした時、Node_LabelオブジェクトのTextコンポーネントを取得したい」というのなら、このコードがそうです。(ScrollViewをクリックした時にChangeGazoメソッドを呼んでいる場合)
「最後の内容(データ)」の意味と、何が問題なのか分かりません。
普通は「クリックした時のデータ=最新のデータ=最後のデータ」だと思うのですが、どうなることを希望しているのですか?
データを読み込みそれをScrollViewに表示していくのですが,3件あった場合
1番目がaaa,2番目がbbb,3番目がcccの時 私の方法ではどれをクリックしても
cccを表示しているという結果です。
「Node_Labelオブジェクトの子オブジェクトとして3つのGameObjectが生成され、このGameObject名はそれぞれaaa,bbb,cccであり、それぞれTextコンポーネントが付いている。子オブジェクトのいずれかをクリックした際、ChangeGazoが実行される」という認識で合っていますか?
画像を添付しました。
NodeLabelというよりはNodeObjectが3件作成されその中に各々NodeLabelが存在するという形
参考URLを添付しましたが,ClickしてItemを取得するチュートリアルが全然ないのです。
まぁそこは普通のUIの領域ですから、これ専門のチュートリアルは無いでしょうね。
「RoomNodeオブジェクトの子オブジェクトとして入室ボタンオブジェクトとNode_Labelオブジェクトが存在している」「RoomNode (1)の子の入室ボタンが押されたら、RoomNode (1)の子のNode_Labelオブジェクトに付いているTextコンポーネントを取得する」という認識で合っていますか?
そうです。
Nodeオブジェクトの子オブジェクトとしてScroll_Image,Text,Node_lableがありNode_lableをクリックするとChangeGazo()に処理が移るようにしています
↓sakura_hanaさんのコードでNullReferanceだったという話を考慮してのコメント
構成的な問題があるかもしれないので
RoomNodeの子要素まで映した画像とNode_labelのInspector情報が映った画像見せて頂けませんか?
RoomNodeというオブジェクトはシーン内に存在しないのですか...。
参考URLにも見当たらないというかTECH Projinの画像なので何の為に載せているのか不明です。
勘違いが発生するので意図的では無いにしても質問の際は気を付けた方が良いです。
hanaさんの「~認識で合っていますか?」という確認も無駄にしかなっていません。
NodeObjectクラスをアタッチしたオブジェクトは結局のどれになるのでしょうか?
RoomNodeというは最初にイメージとして添付した画像になります。
なのでその添付画像と参考URLは削除します。そのまま添付している画像が実際のNodeとNode_Labelで Node_Lableに内容をセットしてあります。
すみませんでした。
変な添付画像をセットしたためRoomNodeオブジェクトの名前があたかも実際
の名前になってしまいました。画像を貼り付け直しています。
回答1件
あなたの回答
tips
プレビュー