さまざまなチュートリアルを使用して、AS3 で次のクイズを作成しました。それは動的であり、重要な機能を使用して全体をセットアップし、カウンターを使用してクイズと配列を管理します。答えを選んだら、チェックボタンをクリックしてから「次へ」ボタンをクリックします。エラーは発生しませんが、何らかの理由で setup() 関数を呼び出してもクイズが前進しません。役に立たないものを編集した私の短いコードが添付されています。いくつかの提案が欲しいです。ところで、外国語はヘブライ語です:)
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();
}
}