Bonjour, j'essaie d'adapter ce tuto de 2016 , https://youtu.be/AINvWlnsny0 pour réaliser un quizz pour mon projet pro dans le canvas... problème je souhaite utiliser la fonction TextMeshPro à la place de l'ancienne fonction text(utilisée dans la vidéo). La recup et le remplacement des valeurs type TextMeshPro dans le canva par les valeurs d'un tableau (de question avec reponses) ne fonctionne pas ... Merci d'avance.
Pierre
[RESOLU]Adaptation Quizz - Recup et remplac. valeur TextMeshPro
-
- Messages : 12
- Inscription : 08 Mai 2020 14:30
[RESOLU]Adaptation Quizz - Recup et remplac. valeur TextMeshPro
- Pièces jointes
-
- CaptureCode2.PNG (404.6 Kio) Consulté 4396 fois
Dernière édition par pierrearchi le 08 Mai 2020 18:28, édité 1 fois.
Re: Adaptation Quizz - Recup et remplac. valeur TextMeshPro
Bonjour Pierre,
En fait, au niveau de ton script, il faut que tu fasse référence à la lib TMPro, en plaçant dans les using la ligne
Normalement, cela devrait solutionner ton problème.
PS: quand tu postes un code, plutôt qu'un screen, poste le listing directement dans ton message, via les bonne balises (lire ici: Poster un script).
En fait, au niveau de ton script, il faut que tu fasse référence à la lib TMPro, en plaçant dans les using la ligne
Code : Tout sélectionner
using TMPro;
PS: quand tu postes un code, plutôt qu'un screen, poste le listing directement dans ton message, via les bonne balises (lire ici: Poster un script).
Pas d'aide par MP, le forum est là pour ça.
En cas de doute sur les bonnes pratiques à adopter sur le forum, consulter la Charte et sa FAQ
-
- Messages : 12
- Inscription : 08 Mai 2020 14:30
Re: Adaptation Quizz - Recup et remplac. valeur TextMeshPro
Merci Max pour ton retour. Je n'avais pas oublie le "using TMPro;"
En revanche le code ne produit rien apres compilation. J'obtiens cette erreur dans visual que je ne comprends pas ...:
Bien compris le conseil pour poster le code source :
En revanche le code ne produit rien apres compilation. J'obtiens cette erreur dans visual que je ne comprends pas ...:
Code : Tout sélectionner
{
"resource": "/C:/Users/pierr/Desktop/ProjetCertification/Unity/Caneillesv1/Assets/PROJET CANEILLES/Scripts/Quiz.cs",
"owner": "csharp",
"code": "CS0246",
"severity": 8,
"message": "Le nom de type ou d'espace de noms 'TextMeshProUGUI' est introuvable (vous manque-t-il une directive using ou une référence d'assembly ?) [Assembly-CSharp]",
"source": "csharp",
"startLineNumber": 8,
"startColumn": 12,
"endLineNumber": 8,
"endColumn": 27
}
Bien compris le conseil pour poster le code source :
Code : Tout sélectionner
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using TMPro;
public class Quiz : MonoBehaviour{
public TextMeshProUGUI TxtQuestion;
// declaration tableau
string[] Quizz = new string[3];
// Start is called before the first frame update
void start(){
//Composant
TxtQuestion =TxtQuestion.GetComponent<TextMeshProUGUI>() ;
//TxtQuestion = GetComponent<TextMeshPro>() ?? gameObject.AddComponent<TextMeshPro>();
//Declaration contenu du tableau
Quizz[0]="Quelle est la longueur du tunnel Aragnouet Bielsa ?,3070,2060,3070";
Quizz[1]="Quelle est la hauteur du barrage de Cap de Long ?,135,101,101";
Quizz[2]="Quelle est l'altitude du lac d'Oredon ?,1849,1326,1849";
//TxtQuestion.settext=Quizz[1];
TxtQuestion.setText(Quizz[1]) ;
}
// Update is called once per frame
void Update()
{
//TxtQuestion.setText(Quizz[1].toString()) ;
}
}
Re: Adaptation Quizz - Recup et remplac. valeur TextMeshPro
En parcourant ton code, je dirais que tu sembles avoir plusieurs soucis.
Le premier, un soucis de case, il faut écrire
En suite, la ligne
Autre soucis, la ligne
Le premier, un soucis de case, il faut écrire
Start
et non pas start
(même si à la base, cela ne produira pas d'erreur à la compilation du script)En suite, la ligne
TxtQuestion.setText(Quizz[1]);
n'est pas correcte. TextMeshProUGUI ne comporte pas de méthode appelée "setText()". Dans ton cas, tu devrais plutôt écrire TxtQuestion.text = Quizz[1];
.Autre soucis, la ligne
TxtQuestion =TxtQuestion.GetComponent<TextMeshProUGUI>() ;
. Tu dois récupérer le component sur le GameObject souhaité. Là tu cherches à récupérer le component d'un component. Soit le component se trouve sur le même objet que ton script, alors dans ce cas il faut juste écrire TxtQuestion = GetComponent<TextMeshProUGUI>() ;
, soit le script se trouve sur un autre GameObject, alors dans ce cas il faut renseigner la donnée publique de ton script au niveau de l'inspector avec le component du GameObject désiré.Pas d'aide par MP, le forum est là pour ça.
En cas de doute sur les bonnes pratiques à adopter sur le forum, consulter la Charte et sa FAQ
-
- Messages : 12
- Inscription : 08 Mai 2020 14:30
Re: Adaptation Quizz - Recup et remplac. valeur TextMeshPro
Merci beaucoup Max ... j'apporte ces modifications ....
-
- Messages : 12
- Inscription : 08 Mai 2020 14:30
Re: Adaptation Quizz - Recup et remplac. valeur TextMeshPro
Cela marche impeccablement bien ....
J'avis aussi oublié en tant que newby de faire pointer le script via l'inspector ...
Merci encore ... Je suis heureux de terminer la journée avec ce point résolu ...tant d'autres m'attendent ....
Pour info, la conception avançée du quizz peut être retrouvée dans la formation complete de dev de JP parrein sur Udemy ... Je viens de m'en rendre compte
J'avis aussi oublié en tant que newby de faire pointer le script via l'inspector ...
Merci encore ... Je suis heureux de terminer la journée avec ce point résolu ...tant d'autres m'attendent ....
Pour info, la conception avançée du quizz peut être retrouvée dans la formation complete de dev de JP parrein sur Udemy ... Je viens de m'en rendre compte
- Pièces jointes
-
- Capture3.PNG (9.51 Kio) Consulté 4340 fois
-
- Messages : 12
- Inscription : 08 Mai 2020 14:30
Re: [RESOLU]Adaptation Quizz - Recup et remplac. valeur TextMeshPro
Pas d'erreur de code d'origine en definitive !
Plutot un soucis(bug) d'affichage du canvas scaler ... j'ai modifié la "reference resolution" du canvas scaler (je suis passé de 800x600 que je n'avais pas modifié à 1600x1200) ... et la question est apparue ...enfin !. Depuis cette modif, en remettant 800x600 en resolution du canvas scaler, la question apparait impeccable (???) et apparait désormais aussi dans la case text de l'inpecteur du canvas (avant rien)...
Plutot un soucis(bug) d'affichage du canvas scaler ... j'ai modifié la "reference resolution" du canvas scaler (je suis passé de 800x600 que je n'avais pas modifié à 1600x1200) ... et la question est apparue ...enfin !. Depuis cette modif, en remettant 800x600 en resolution du canvas scaler, la question apparait impeccable (???) et apparait désormais aussi dans la case text de l'inpecteur du canvas (avant rien)...