Accueil Forums J’ai besoin d’aide Unity3D probleme:Transform Getchid out of bounds

Ce sujet a 4 réponses, 2 participants et a été mis à jour par  hmid_30, il y a 6 mois.

5 sujets de 1 à 5 (sur un total de 5)
  • Auteur
    Messages
  • #1062

    hmid_30
    Participant

    Bonjour étant nouveau sur Unity, je tente desesperement de resoudre mon proble sur un quizz game:
    une erreur du type Transform Getchild out of bounds.
    Voici mes 2 scripts:

    <pre class=”lang:c# decode:true ” >using System.Collections;
    using System.Collections.Generic;
    using UnityEngine;
    using UnityEngine.UI; // permet de recuperer les elements de UI

    public class Reponses : MonoBehaviour {

    // Use this for initialization
    public void OnMouseDown () { //quand je clique sur un objet
    if (Quizz.Reponse == transform.GetChild (0).GetComponent<Text> ().text) {
    Debug.Log (“Gagné”);
    Quizz.Score += 1;
    //GameObject.Find (“Canvas”).GetComponent<Quizz> ().Score += 1;
    }
    else {
    Debug.Log (“perdu”);
    }

    GameObject.Find (“Canvas”).GetComponent<Quizz> ().PoseUneQuestion ();
    }

    }

    et le deuxieme correspondant à mon quizz :

    <pre class=”lang:c# decode:true ” >using System.Collections;
    using System.Collections.Generic;
    using UnityEngine;
    using UnityEngine.UI; // permet de recuperer les elements de UI

    public class Quizz : MonoBehaviour {

    Text TxtQuestion;
    static Text TxtBtnG;
    static Text TxtBtnD;
    static Text TxtBtnBD;
    static Text TxtBtnBG;
    int Nr; // nombre aleatoire
    static Text TxtScore;

    // creation d’un tableau de chaines de caracteres
    string[] Quiz = new string[3];
    // variable publique reponse
    public static string Reponse;
    // variable publique score
    public static int Score = 0 ;
    public int TotalQuestions = 5;
    int NbQuestions = 0;

    // Use this for initialization
    void Start () {

    TxtQuestion = GameObject.Find(“TxtQuestion”).GetComponent<Text>();
    TxtScore = GameObject.Find (“TxtScore”).GetComponent<Text> ();
    TxtBtnG = GameObject.Find (“TxtBtnG”).GetComponent<Text> ();
    TxtBtnD = GameObject.Find (“TxtBtnD”).GetComponent<Text> ();
    TxtBtnBD = GameObject.Find (“TxtBtnBD”).GetComponent<Text> ();
    TxtBtnBG = GameObject.Find (“TxtBtnBG”).GetComponent<Text> ();

    // declaration du contenu tableau
    Quiz[0] = “Un client entre et ne vous dit pas bonjour.,Je l’ignore et je le laisse faire.,Je lui dis bonjour tout de suite sans le sourire.,Je lui dis bonjour tout de suite en souriant.,Je le laisse observer le magasin avant d’aller le saluer.,Je le laisse observer le magasin avant d’aller le saluer.”; // separateur pour les collonnes : ,
    Quiz[1]= “Un de vos proches entre votre accueil est :,Hé salut comment ça va?,Ah ça fait plaisir de vous voir!,Bonjour (grand sourire),Je m’excuse auprès de mon client et je vais l’embrasser.,Bonjour (grand sourire)”;
    Quiz[2] = “Personne dans le magasin et un client entre ,Vous finissez votre activité et vous allez ensuite le voir.,Vous allez sans tarder vers lui d’un pas décidé,Vous attendez qu’il vienne vers vous,Vous lui faîtes un signe de la tete,Vous finissez votre activité et vous allez ensuite le voir.”;
    // decoupage du tableau avec la methode split
    //string[] Col = Quiz[0].split(“,”);

    PoseUneQuestion ();

    }

    // Update is called once per frame
    void Update () {
    TxtScore.text = “Score : ” + Score;
    }
    public void PoseUneQuestion()
    {
    if (NbQuestions < TotalQuestions) {
    NbQuestions += 1;
    Nr = Random.Range (0, Quiz.Length);
    string[] Col = Quiz [Nr].Split (‘,’);
    TxtQuestion.text = Col [0];
    TxtBtnG.text = Col [1];
    TxtBtnD.text = Col [2];
    TxtBtnBG.text = Col [3];
    TxtBtnBD.text = Col [4];
    Reponse = Col [5];
    }
    else {
    Debug.Log(“Partie Terminée. Score final : ” + Score + ” / ” + TotalQuestions) ;

    }

    }
    }

    merci de votre aide, je ne m’en sors pas…
    Voici une copie d’ecran de mon projet de manière à ce que vous voyez que l’element sur lequel j’appelle le script contient bien un enfant…
    ecran

    Merci!

    #1063

    hmid_30
    Participant

    image

    #1064

    upln
    Admin bbPress

    Bonjour pas de problème avec ton code chez moi !

    Par contre ta classe s’appelle Quizz et ton tableau aussi , ce ne serait pas la le problème ?

    #1067

    hmid_30
    Participant

    Bonjour, merci pour ta réponse, et lorsque tu cliques sur un bouton, tu n’as pas de message d’erreur qui apparaît? Moi la scène se lance mais lorsque je clique j’ai le transform out of bounds…

    Merci d’avance.

    #1068

    hmid_30
    Participant

    J’ai changé le nom du tableau mais rien n’y fait…

5 sujets de 1 à 5 (sur un total de 5)

Vous devez être connecté pour répondre à ce sujet.