UnityでTwitterのタイムライン情報をGame画面に出力しようとしてます。
prefabとなったGameObjectを20個適当に出現させます。今回はTweetDisというGameObjectです。
それらを区別させるために名前(TweetText)の末尾に数字を振りました。以下が簡略化したコードです。
c#
1public GameObject TweetDis;//prefab用 2 3for (int i = 0; i < 20; i++) { 4 var obj = Instantiate (TweetDis, new Vector3 (0, 350 + 300 * i, 0), Quaternion.identity) as GameObject; 5 string j = i.ToString (); 6 obj.name = "TwitterText" + j; 7 }
TweetTextは親となっていてUnity上ではCanvasのTweetPanelが子でその子がTextのUsername,text,ProfileImageとなっています。下のような感じです。
TweetText(Cube)
↳TweetPanel(Canvas)
↳Username(Text)
text (Text)
ProfileImage(RawImage)
InstatiateではTweetText0,TweetText1・・・と名前を変更して20個複製しても子の名前は変わりませんでした。20個それぞれのUsername、Text、ProfileImageに別の情報を代入するために(今回はUsernameに絞っています)、以下のコードを組みました。kはfor文で制御しています。これではエラーを吐いてしまい、うまくいきませんでした。
c#
1UserNameText = GameObject.Find (string.Format ("TwitterText{0}/TweetPanel/Username", k)).GetComponent<Text> (); 2UserNameText.text = "@" + json [k] ["user"] ["screen_name"];
Twitterに限った話じゃありませんが、どのようにして複数複製された親オブジェクトの子に別々の値を代入することができるのでしょうか?宜しくお願い致します。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。