intercorni
Erfahrenes Mitglied
Hallo,
ich baue gerade in Flash ein Quiz zusammen, wobei die Quizfragen aus einem XML-File geladen werden. Zu jeder Frage (insgesamt 10) gibt es drei Antworten und im XML-File ist zu jeder Antwort vermerkt, welche richtig und welche falsch ist.
Nun weiß ich jedoch nicht, wie ich die "Mechanik" dazu bauen müsste, um ein Richtig oder Falsch anzeigen zu können.
Mein XML-File zwigt hier nur mal als Beispiel eine Frage mit 3 Antworten:
Die Daten aus dem XML-File lade ich so in Flash:
In einem dynamischen Textfeld lasse ich mir die erste Frage anzeigen.
Dazu werden dann jeweils in einem dynamischen Textfeld die drei möglichen Antworten angezeigt.
Diese Antwort-Textfelder habe ich klickbar gemacht, jedoch noch kein Scripting draufgelegt, weil ja hier überprüft werden muss, ob die Frage Richtig oder Falsch ist. So sehen meine Antwort-Buttons aus:
Wie geh ich nun am besten vor, um die Parameter Richtig/Falsch auszulesen? Ein Trace nach dem klicken auf eine der drei Antworten mit der Anzeige des Parameters Richtig oder Falsch würde mir schon genügen, um weiterarbeiten zu können.
Ich wäre über jede Hilfe dankbar
Gruss,
Cornel
ich baue gerade in Flash ein Quiz zusammen, wobei die Quizfragen aus einem XML-File geladen werden. Zu jeder Frage (insgesamt 10) gibt es drei Antworten und im XML-File ist zu jeder Antwort vermerkt, welche richtig und welche falsch ist.
Nun weiß ich jedoch nicht, wie ich die "Mechanik" dazu bauen müsste, um ein Richtig oder Falsch anzeigen zu können.
Mein XML-File zwigt hier nur mal als Beispiel eine Frage mit 3 Antworten:
PHP:
<?xml version='1.0' encoding='utf-8' ?>
<thema01 name="Thema 1">
<frage name="Frage 1" beschreibung="Wie lautet die Frage 1 ?">
<antwort name="Antwort 1" beschreibung="Richtig" />
<antwort name="Antwort 2" beschreibung="Falsch" />
<antwort name="Antwort 3" beschreibung="Falsch" />
</frage>
</thema01>
Die Daten aus dem XML-File lade ich so in Flash:
PHP:
stop();
var XMLdaten = new XML();
XMLdaten.ignoreWhite=true;
XMLdaten.load("daten/xmltest.xml");
XMLdaten.onLoad = function(success) {
if (success) {
pictureloader(0);
anzahlFragen = XMLdaten.firstChild.childNodes.length;
anzahlAntworten = []; //neues Array
for (var i=0; i<anzahlFragen; i++) {//alle Fragen durchgehen
//länge der Antworten Ojekte der jeweiligen Frage auslesen und ins array schreiben
anzahlAntworten[i] = XMLdaten.firstChild.childNodes[i].childNodes.length;
}
namen = [];
beschreibungen = [];
fragen = [];
themen = [];
for (var i=0; i<anzahlFragen; i++) {//für jede Frage
namen[i] =[];
beschreibungen[i] = [];
fragen[i] = [];
themen[i] = [];
for (var j=0; j<anzahlAntworten[i]; j++) {//für alle Antworten der jeweiligen Frage
//auslesen
namen[i][j] = XMLdaten.firstChild.childNodes[i].childNodes[j].attributes.name;
beschreibungen[i][j] = XMLdaten.firstChild.childNodes[i].childNodes[j].attributes.beschreibung;
fragen[i][j] = XMLdaten.firstChild.childNodes[i].attributes.beschreibung;
themen[i][j] = XMLdaten.firstChild.attributes.name;
}
}
}
}
In einem dynamischen Textfeld lasse ich mir die erste Frage anzeigen.
Dazu werden dann jeweils in einem dynamischen Textfeld die drei möglichen Antworten angezeigt.
Diese Antwort-Textfelder habe ich klickbar gemacht, jedoch noch kein Scripting draufgelegt, weil ja hier überprüft werden muss, ob die Frage Richtig oder Falsch ist. So sehen meine Antwort-Buttons aus:
PHP:
//Antwort A
this.createEmptyMovieClip("antwort_a_mc", this.getNextHighestDepth());
antwort_a_mc._x = 80;
antwort_a_mc._y = 500;
antwort_a_mc.createTextField("antwort_a_txt", this.getNextHighestDepth(), 0, 0, 280, 130);
antwort_a_mc.antwort_a_txt.autoSize = "left";
antwort_a_mc.antwort_a_txt.embedFonts = true;
antwort_a_mc.antwort_a_txt.antiAliasType = "normal";
antwort_a_mc.antwort_a_txt.multiline = true;
antwort_a_mc.antwort_a_txt.text = "";
antwort_a_mc.antwort_a_txt.wordWrap = true;
var style_antwort_a:TextFormat = new TextFormat();
style_antwort_a.font = "ueberschrift";
style_antwort_a.size = 20;
style_antwort_a.color = 0xFFFFFF;
antwort_a_mc.antwort_a_txt.setTextFormat(style_antwort_a);
antwort_a_mc.onRelease = function():Void {
//Hier Richtig-Falsch-Abfrage
};
//Antwort B
this.createEmptyMovieClip("antwort_b_mc", this.getNextHighestDepth());
antwort_b_mc._x = 80;
antwort_b_mc._y = 540;
antwort_b_mc.createTextField("antwort_b_txt", this.getNextHighestDepth(), 0, 0, 280, 130);
antwort_b_mc.antwort_b_txt.autoSize = "left";
antwort_b_mc.antwort_b_txt.embedFonts = true;
antwort_b_mc.antwort_b_txt.antiAliasType = "normal";
antwort_b_mc.antwort_b_txt.multiline = true;
antwort_b_mc.antwort_b_txt.text = "";
antwort_b_mc.antwort_b_txt.wordWrap = true;
var style_antwort_b:TextFormat = new TextFormat();
style_antwort_b.font = "ueberschrift";
style_antwort_b.size = 20;
style_antwort_b.color = 0xFFFFFF;
antwort_b_mc.antwort_b_txt.setTextFormat(style_antwort_b);
antwort_b_mc.onRelease = function():Void {
//Hier Richtig-Falsch-Abfrage
};
//Antwort C
this.createEmptyMovieClip("antwort_c_mc", this.getNextHighestDepth());
antwort_c_mc._x = 80;
antwort_c_mc._y = 580;
antwort_c_mc.createTextField("antwort_c_txt", this.getNextHighestDepth(), 0, 0, 280, 130);
antwort_c_mc.antwort_c_txt.autoSize = "left";
antwort_c_mc.antwort_c_txt.embedFonts = true;
antwort_c_mc.antwort_c_txt.antiAliasType = "normal";
antwort_c_mc.antwort_c_txt.multiline = true;
antwort_c_mc.antwort_c_txt.text = "";
antwort_c_mc.antwort_c_txt.wordWrap = true;
var style_antwort_c:TextFormat = new TextFormat();
style_antwort_c.font = "ueberschrift";
style_antwort_c.size = 20;
style_antwort_c.color = 0xFFFFFF;
antwort_c_mc.antwort_c_txt.setTextFormat(style_antwort_c);
antwort_c_mc.onRelease = function():Void {
//Hier Richtig-Falsch-Abfrage
};
Wie geh ich nun am besten vor, um die Parameter Richtig/Falsch auszulesen? Ein Trace nach dem klicken auf eine der drei Antworten mit der Anzeige des Parameters Richtig oder Falsch würde mir schon genügen, um weiterarbeiten zu können.
Ich wäre über jede Hilfe dankbar
Gruss,
Cornel