Re: Débuter avec l'UI d'unity 4.6
Publié : 28 Août 2014 19:39
C'est moi ou sur la première vidéo tu chuchote?
Le forum de la communauté francophone d'Unity
http://www.unity3d-france.com/unity/phpBB3/
http://www.unity3d-france.com/unity/phpBB3/viewtopic.php?f=22&t=8881
Code : Tout sélectionner
public Sprite TSprite;
public Font TFont;
List<string> CarteListe = new List<string>();
void Start()
{
CarteListe.Clear();
CarteListe.Add("New Map");
CarteListe.AddRange(MapList());
int i=0;
Debug.Log(CarteListe.Count.ToString());
foreach(string _Map in CarteListe)
{
//Création du GameObject pour accueillir le bouton
GameObject TButtonObj = new GameObject();
TButtonObj.name=_Map+"_Button";
TButtonObj.transform.parent=this.transform;
Image TImage = TButtonObj.AddComponent<Image>(); //Ajout d'une image pour le bouton.
TImage.type=Image.Type.Sliced; //Modification des paramétrage du sprite du bouton.
TImage.sprite=TSprite;
RectTransform RectButton = TButtonObj.GetComponent<RectTransform>();
RectButton.sizeDelta=new Vector2(120,30); //Modification de la taille
RectButton.localPosition=new Vector3(0,-30*i,0); //Modification de la position dans l'objet parent.
Button TButton = TButtonObj.AddComponent<Button>(); //Ajout des fonctionnalité de bouton.
Color HBColor = TButton.colors.highlightedColor;
HBColor=Color.red;
//Création du GameObject pour accueillir le texte du bouton.
GameObject TTextObj = new GameObject();
TTextObj.transform.parent=TButtonObj.transform;
TTextObj.name=_Map+"_text";
Text TText = TTextObj.AddComponent<Text>(); //Ajout du composant UI.Text
RectTransform RectText = TTextObj.GetComponent<RectTransform>();
RectText.sizeDelta=new Vector2(120,30); //Par défaut, la taille d'un "truc" c'est 100x100.
TText.text = _Map;
TText.font=TFont; //Si on affecte pas de Font, alors le texte n'apparait pas.
TText.color=Color.black; //Par défaut, la couleur du texte est blanc.
TText.alignment=TextAnchor.MiddleCenter; //Change l'allignement du text dans la zone texte.
i++;
}
}
Ayant besoin de générer des boutons à la volée, je souhaiterai savoir comment ajouter l’événement onclic sur ces boutons.
pour ceux que ça intéresse, voici le p'tit code que j'ai pondu pour créer à la volée des boutons.
Code : Tout sélectionner
MyButton.onClick.AddListener(() => { MyFunction(); MyOtherFunction(); });