en utilisant divers tutoriels J'ai créé le prochain quiz dans AS3. C'est dynamique et j'utilise une fonction importante pour configurer le tout, et un compteur pour gérer le quiz et les tableaux. Après avoir choisi une réponse, vous cliquez sur un bouton de contrôle, puis sur un bouton "Suivant". Je ne reçois aucune erreur, cependant pour une raison quelconque, l'appel de la fonction setup() ne déplace pas le quiz fwd. Ci-joint est mon code court avec des modifications de l'inutile, j'aimerais quelques suggestions. BTW, la langue étrangère est l'hébreu :)AS3 Quiz - Comment passer à la question suivante?
var arrQuestion:Array = [ "?מיהו סטיב ג'ובס", "מהי משמעות הקיצור WWW?"];
var arrAnswers:Array = [["AOL מנכל","יור אורקל","מנכל אפל","מנכל סאן"], ["World Wide Web", "With Web Wins", "Wired Web Window", "Wap Windows War"]];
var arrCorrect:Array = [3, 1];
var btnNext:myNext = new myNext();
setup();
function setup():void {
var i:Number=0;
var thequestion_txt:TextField= new TextField;
addChild(thequestion_txt);
var feedback_txt:TextField= new TextField;
addChild(feedback_txt);
var radio1:RadioButton = new RadioButton();
var radio2:RadioButton = new RadioButton();
var radio3:RadioButton = new RadioButton();
var radio4:RadioButton = new RadioButton();
var radioGrp:RadioButtonGroup = new RadioButtonGroup("radioGrp");
addChild(radio1);
addChild(radio2);
addChild(radio3);
addChild(radio4);
radio1.label = arrAnswers[i][0];
radio1.value = 1;
//etc..
var checkButton:Button = new Button();
addChild(checkButton);
checkButton.x =230;
checkButton.y = 300;
checkButton.label = "בדוק";
checkButton.addEventListener(MouseEvent.CLICK, clickHandler);
function clickHandler(event:MouseEvent):void {
addChild(btnNext);
btnNext.x =230;
btnNext.y = 300;
if (radioGrp.selection.value == (arrCorrect[i])) {
feedback_txt.text = "!נכון מאוד";
btnNext.addEventListener(MouseEvent.CLICK, myRemove);
} else {
feedback_txt.text = "תשובה שגויה";
btnNext.addEventListener(MouseEvent.CLICK, myRemove);
}
}
function myRemove(e:MouseEvent):void {
removeChild(thequestion_txt);
removeChild(feedback_txt);
removeChild(radio1);
removeChild(radio2);
removeChild(radio3);
removeChild(radio4);
removeChild(checkButton);
removeChild(btnNext);
//chaning the counter to change the question and answers
i++;
//shouldn't the call to setting up the entire stage again be here?
//it is't working, I dont get the next question.
setup();
}
}
+1 pour le commentaire de formatage de code - cela augmenterait considérablement la lisibilité – Cameron
Cameron, merci pour votre réponse, je l'ai essayé et ça marche! J'ai utilisé le format de l'exemple de code, mais je suppose qu'il y a eu un petit problème dans mon édition par la suite et cela n'a pas fonctionné. Merci! – Sarit