[Resolu]Load font par script

Questions à propos du scripting. Hors Shader, GUI, Audio et Mobile.
Frederic
Messages : 36
Inscription : 24 Déc 2021 18:25

[Resolu]Load font par script

Message par Frederic » 30 Sep 2023 13:49

Load font par script

Bonjour à toute l'équipe

J'ai fais une class static qui créer un panel et deux boutons par scrip,
mais je n'arrive pas à charger une des fonts par defaut

_Placez dans Start

Code : Tout sélectionner

PopupPanelRepriseTache.Initialize("nom de mon Canvas");
_Appeler avec un bouton ou autre

Code : Tout sélectionner

PopupPanelRepriseTache.ShowPopup();
Le problème vient de la ligne 35 à mon avis mais je sèche

Code : Tout sélectionner

using UnityEngine;
using UnityEngine.UI;

public static class PopupPanelRepriseTache
{
    private static GameObject popupPanel;
    private static Button button1;
    private static Button button2;
    private static Canvas canvas; // Référence au Canvas existant


    public static void Initialize(string nameCanvas)
    {

        canvas = GameObject.Find(nameCanvas).GetComponent<Canvas>(); 


        popupPanel = new GameObject("PopupPanel");
        popupPanel.AddComponent<RectTransform>();
        popupPanel.transform.SetParent(canvas.transform, false);

        Image panelImage = popupPanel.AddComponent<Image>();
        panelImage.color = new Color(0.2f, 0.2f, 0.2f, 0.8f);


 


        GameObject button1GO = new GameObject("Button1");
        button1 = button1GO.AddComponent<Button>();
        Text buttonText1 = button1GO.AddComponent<Text>();

        // Assets/TextMesh Pro/Resources/Fonts & Materials/zekton free.ttf
        Font maPolice = Resources.Load<Font>("Library/unity default resources/Arial.ttf"); 
        buttonText1.font = maPolice;

        buttonText1.text = "Bouton 1";





        GameObject Imagebutton1GO = new GameObject("Image");
        Image button1Image = Imagebutton1GO.AddComponent<Image>();
        button1Image.color = Color.red; // Changer la couleur de l'image du bouton 1



        button1Image.transform.SetParent(popupPanel.transform, false);
        button1.transform.SetParent(button1Image.transform, false);








        // Créer un GameObject pour le deuxième bouton
        GameObject button2GO = new GameObject("Button2");
        button2 = button2GO.AddComponent<Button>();

     //   Image button2Image = button2GO.AddComponent<Image>();
     //   button2Image.color = Color.blue; // Changer la couleur de l'image du bouton 1
        button2.transform.SetParent(popupPanel.transform, false);

        // Ajouter un texte au bouton 2
        Text buttonText2 = button2GO.AddComponent<Text>();
        //buttonText2.text = "Bouton 2";







        // Définir les positions des boutons
        Imagebutton1GO.GetComponent<RectTransform>().anchoredPosition = new Vector2(-50f, -20f);
        button2GO.GetComponent<RectTransform>().anchoredPosition = new Vector2(50f, -20f);

        // Cacher le panneau au départ
        popupPanel.SetActive(false);
    }

    public static void ShowPopup()
    {
        // Activer le panneau popup
        popupPanel.SetActive(true);
       // button1.SetActive(true);

        // Définir les actions à effectuer lorsque les boutons sont cliqués
        button1.onClick.AddListener(OnButton1Click);
        button2.onClick.AddListener(OnButton2Click);
    }

    private static void OnButton1Click()
    {
        popupPanel.transform.SetParent(canvas.transform, true);
        Debug.Log(" __________________    bouton1 ");
    }

    private static void OnButton2Click()
    {
        Debug.Log("_______________________bouton2 ");
    }
}
Une idée ?
Dernière édition par Frederic le 30 Sep 2023 15:27, édité 2 fois.

Frederic
Messages : 36
Inscription : 24 Déc 2021 18:25

Re: Load font par script

Message par Frederic » 30 Sep 2023 15:26

c'est bon, j'ai trouvé

j'ai créer un dossier Resources et j'ai charger ma propre police à l'intérieur, ici arial.ttf

Code : Tout sélectionner

Font maPolice = Resources.Load<Font>("arial");

Répondre

Revenir vers « Scripting »