Listを作成するため
下記のPrefabを作成してvideoListを参照してForで流し込みました。
List<videoList>
string FileNameNum(ファイル名)
int QFlag(0:ButtonA表示 1;ButtonB表示)
ListPrefab
L Text
L Image
L ButtonA
L ButtonB
TextとImageは配列で作成してGetComponentInChildrenでうまく表示されました。
ButtonAとBは条件によって表示したくその場合、SetActiveを使うので
GameObjectで参照しなければならずGetComponentInChildrenが使えません。
そこで調べたところchild.gameObject()でButtonを参照できそうなので
下記コードを記述しました。
for(int i=0; i < _videoList.Count; i++) { var item = GameObject.Instantiate(ListPrefab) as GameObject; item.transform.SetParent(transform, false); //Number Display item.GetComponentInChildren<Text>().text = (i+1).ToString("D3"); //Image Display images = item.GetComponentsInChildren<Image>(); FileNameNum = _videoList[i].FileNameNum; FilePath = Application.persistentDataPath + "/" + FileNameNum + ".png"; images[1].sprite = LoadSprite(FilePath); //Button Display QFlag = _videoList[i].QFlag; buttonObject = item.child.gameObject(); switch(QFlag) { case 0: buttonObject[2].SetActive(true); buttonObject[3].SetActive(false); break; case 1: buttonObject[2].SetActive(false); buttonObject[3].SetActive(true); break; } }
しかし下記エラーが出ます。
どうすれば良いのでしょうか?
Assets\Scripts\VideoListDisplay.cs(35,37): error CS1061: 'GameObject' does not contain a definition for 'child' and no accessible extension method 'child' accepting a first argument of type 'GameObject' could be found (are you missing a using directive or an assembly reference?)
環境)
PC: Windows10
Unity2019.4.0f1
言語:C#
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/09/11 23:30
2020/09/11 23:33
2020/09/11 23:38
2020/09/12 00:49