J’ai créé un menu déroulant dans mon canvas : UI>Scroll View
J’ai créé des Button (Button0, Button1, Button2, …) dans Content puis je les ai transformé en prefab avant de les effacer de Content.
J’ai ajouté un script à Scroll View qui instancie tous les prefabs Button dans Content.
Voici le script :
Code : Tout sélectionner
public class affichageLecons : MonoBehaviour
{
public GameObject[] lecons; // tableau contenant toutes les préfabs leçons qui ont été glisser dans Inspector
public GameObject gameobjectParent; // faire glisser "content" dans Inspector
private choixAccueil scriptChoixAcc; // pour se connecter au script "choixAccueil"
void Start()
{
scriptChoixAcc = GameObject.Find("GameController").GetComponent<choixAccueil>(); // prendre le script "choixAccueil" du GameObject "GameController"
instancierEnfants(); // instantier les leçons en temps que enfant du GameObject "content"
}
// instancier dans canvas comme enfant de "content"
void instancierEnfants()
{
for (int i = 0; i < scriptChoixAcc.inventaire.nbLecons; i++)
{
GameObject mChild = Instantiate(lecons[i],
lecons[i].gameObject.transform.position,
lecons[i].gameObject.transform.rotation); // afficher le ButtonLecon
mChild.transform.SetParent(gameobjectParent.transform); // mChild devient enfant de Content
mChild.transform.localScale = new Vector3(1,1,1); // imposer une taille de 1
Debug.Log(mChild.transform.position.z); // Ecrire la valeur de Pos z
}
}
}
Quand je fais un Debug.Log(prefab.transform.position.z), j’obtiens 0 alors que dans inspector et à l’écran, les prefabs sont à -350.
Quand je change manuellement la valeur de Pos z et que je la mets à 0, les prefabs sont à leur place.
Comment faire pour que mes prefabs s’affichent au bon endroit ?
Merci pour votre aide. Murdeau.