Hello, i'm a beginner with Unity and i'm not very good in English then i apologize.
I have a problem with a quizz game, i have an Exception :Transform child out of bounds and i don't know why, i think i have a child on the element...
My 2 scripts:
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) {
Debug.Log ("Gagné");
Quizz.Score += 1;
//GameObject.Find ("Canvas").GetComponent ().Score += 1;
}
else {
Debug.Log ("perdu");
}
GameObject.Find ("Canvas").GetComponent ().PoseUneQuestion ();
}
}
and my second script for the quizz :
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();
TxtScore = GameObject.Find ("TxtScore").GetComponent ();
TxtBtnG = GameObject.Find ("TxtBtnG").GetComponent ();
TxtBtnD = GameObject.Find ("TxtBtnD").GetComponent ();
TxtBtnBD = GameObject.Find ("TxtBtnBD").GetComponent ();
TxtBtnBG = GameObject.Find ("TxtBtnBG").GetComponent ();
// 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) ;
}
}
}
I hope you could help me, i tryed, i looked forums, and i suppose it's just a little syntax eror...
I need help, thanks.
Here an image of my unity prject :
![alt text][1]
[1]: /storage/temp/90557-sans-titre.jpg
↧