En este momento estás viendo La lista dinámica de botones en la vista de desplazamiento de la interfaz de usuario de Unity no se muestra

 – Unity

La lista dinámica de botones en la vista de desplazamiento de la interfaz de usuario de Unity no se muestra – Unity

La lista dinámica de botones en la vista de desplazamiento de la interfaz de usuario de Unity no se muestra

– UnityAssets3Free

hola , soy Juan y en esta ocasion os traigo
esta pregunta

Tengo un lienzo que contiene un panel que alberga una vista de desplazamiento. (La vista de desplazamiento contiene la ventana gráfica predeterminada -> Configuración de contenido). No creo que sea relevante, pero eliminé las barras de desplazamiento.

Quiero mostrar una lista dinámica de prefabricados (botones) en la vista de desplazamiento. Al depurar, puedo ver que los prefabricados se crean correctamente con el contenido como principal, pero no aparece nada en la vista de desplazamiento.

Seguí un tutorial que me hizo agregar los componentes Vertical Layout Group y Content Size Fitter al Content GameObject. Intenté jugar con las opciones de estos componentes en tiempo de ejecución para ver si los había configurado incorrectamente, pero los prefabricados nunca aparecieron.

Antes de correr:

Despues de correr:

No debería importar mucho, pero aquí está el código que estoy usando para probar. (En el interior Start() – y sé que eso no es lo más eficiente.)

for (int i = 0; i < 5; i++)
    
      Game game = new Game
      
        ID = i.ToString(),
        OpponentID = i.ToString(),
        OpponentImage = "pig",
        OpponentName = "Test " + i,
        OpponentScore = new Score  Pigs = 2, Bulls = 1 ,
        Points = 350,
        Score = new Score  Pigs = 1, Bulls = 1 ,
        Status = "active",
        Turn = "6XMvi7Xv2maXDdFN7dwrhLaMrkE3"
      ;

      var gameObj = Instantiate(gamePrefab, scrollViewContent.transform, false);
      var canvas = gameObj.transform.Find("Canvas").GetComponent<Canvas>();
      canvas.enabled = false;

      var gameObjButton = canvas.transform.GetChild(0);

      gameObjButton.Find("OpponentInfo").Find("OpponentName").GetComponent<Text>().text = game.OpponentName;
      gameObjButton.Find("OpponentInfo").Find("OpponentScore").GetComponent<Text>().text = game.OpponentScore.ToString();
      // //   gameObj.transform.Find("OpponentProfilePicture").GetComponent<Image>()

      gameObjButton.Find("OpponentInfo").Find("Status").GetComponent<Text>().text = GameObject.Find("FirebaseRef")?.GetComponent<FirebaseRef>()?.user?.UserId;
      
      gameObjButton.Find("PlayerInfo").Find("PlayerScore").GetComponent<Text>().text = game.Score.ToString();
      gameObjButton.Find("PlayerInfo").Find("PlayerPoints").GetComponent<Text>().text = game.Points.ToString();

      canvas.enabled = true;
    

0

nota: si aun no se resuelve tu pregunta por favor dejar un comentario y pronto lo podremos de nuevo , muchas gracias

por hoy,espero que te halla servido

Deja una respuesta