Zurück   Flashforum > Flash > ActionScript > ActionScript 2

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 05-09-2011, 17:05   #1 (permalink)
Neuer User
 
Registriert seit: Oct 2007
Beiträge: 22
Eine Frage

Hallo Community,

ich habe eine kleine Frage:
Folgendes (ausgeschriebene) Script will ich als Zähl- bzw. Abarbeit-Routine haben:

Code:
var frage1:String = (zerlegen[0]);
var frage2:String = (zerlegen[1]);
var frage3:String = (zerlegen[2]);
var frage4:String = (zerlegen[3]);
var frage5:String = (zerlegen[4]);
var frage6:String = (zerlegen[5]);
var frage7:String = (zerlegen[6]);
var frage8:String = (zerlegen[7]);
Ich habs schon mal hiermit versucht, aber so recht funktioniert das nicht:

Code:
for (var i=0; i<=8; i++){
	var obj:String = this["frage"+i];
	obj = (zerlegen[i]);
	trace (obj);
}
Für hilfreiche Hinweise wäre ich dankbar...:-)

Gruss Thomas
tompen ist offline   Mit Zitat antworten
Alt 05-09-2011, 17:22   #2 (permalink)
Flash-Designer
 
Benutzerbild von Martin Kraft
 
Registriert seit: May 2006
Ort: Wiesbaden
Beiträge: 6.162
Du weist die Werte in der falschen Reihenfolge zu und diese Variable zum Zwischenspeichern ist eigentlich auch überflüssig:
PHP-Code:
for (var i:Number=0i<zerlegen.lengthi++){
    
this["frage"+i] = zerlegen[i];

Ich frag mich allerdings, warum Du unbedingt eine Herde ausgeschriebener Variablen haben möchtest, wenn die Daten doch schon so schön sauber und sortiert in einem Array vorliegen?!
__________________
Viele Grüße // Martin

Martin Kraft // Interaktionsdesign

Hilfreiche Websites:
// Hilfe zur Adobe Flash Plattform
// ActionScript 2 Referenz
// ActionScript 3 Referenz
// ActionScript 3 Arbeitshandbuch
// weitere Flash Ressourcen

Bitte keine Flashfragen per PM oder Profilnachricht! Dafür ist das Forum da!

Geändert von Martin Kraft (05-09-2011 um 17:24 Uhr)
Martin Kraft ist gerade online   Mit Zitat antworten
Alt 05-09-2011, 17:28   #3 (permalink)
Keine Panik
 
Registriert seit: Apr 2010
Ort: Düsseldorf (im ernst)
Beiträge: 1.868
Zitat:
Eine Frage
eine Antwort: 42

und eine Gegenfrage: wieso kopierst du den Inhalt einer sinvollen Struktur (Array) in dieses this-gematsche?
eigentlich müsstest du doch nur zerlegen in frage ändern.
__________________
greetz Thomas

plz RTFM & Coding Conventions
thomas_E ist gerade online   Mit Zitat antworten
Alt 06-09-2011, 10:19   #4 (permalink)
Neuer User
 
Registriert seit: Oct 2007
Beiträge: 22
Eine Frage

Hallo,

vielen Dank für die Antworten! Ihr habt natürlich recht; die Zuweisung auf verschiedene Variablen ist schwachsinnig. Ich versuch mal kurz zu erklären, wofür das swf-File verwendet werden soll. Das fertige File wird in ein Lernprogramm eingebettet, welches mit Lectora erstellt wurde. Der Nutzer absolviert einen Lerntest; die einzelnen Frageergebnisse (also ob richtig oder falsch) werden in einer Variable gesammelt. Nach dem Test hat der Nutzer die Möglichkeit, sich die einzelnen Fragen nochmals anzuschauen. Und dann soll das swf-File anzeigen, ob er die Frage richtig oder falsch beantwortet hat. Dazu wird der Inhalt der Frageergebniss-Variable an Flash übergeben und im Array zerlegt. Dann brauch Flash nur noch die Frage-Nr. und kann nun schauen, ob die Frage richtig oder falsch beantwortet wurde und ein dementsprechendes Feedback ausgeben. Ich hab das Script soweit fertiggebastelt, es funktioniert in Flash bis auf ein kleines Problem: Ich möchte die Ausgabe in unterschiedlichen Textfarben, Flash macht es aber nicht:

Code:
stop();

import flash.text.*;

var meldung:String = "richtig falsch richtig richtig richtig falsch richtig falsch";

/* nur zu Kontrollzwecken
this.onEnterFrame = function(){
	ausgabe.text = meldung;
}
*/

var zerlegen:Array = meldung.split(" ");  

var frage_nr:Number = 2; //wird dann auch durch Lectora übergeben

var txt_fmt:TextFormat = new TextFormat();

if ((zerlegen[frage_nr-1]) == "richtig"){
	txt_fmt.color = 0xFF0000;
	feedback.setTextFormat(txt_fmt);
	feedback.text = "Sie haben die Frage richtig beantwortet.";
}else{
	txt_fmt.color = 0x00FF00;
	feedback.setTextFormat(txt_fmt);
	feedback.text = "Sie haben die Frage falsch beantwortet.";
}
Woran könnte es liegen, was mache ich falsch? Danke im Voraus!
Grüße Thomas
tompen ist offline   Mit Zitat antworten
Alt 06-09-2011, 10:36   #5 (permalink)
Keine Panik
 
Registriert seit: Apr 2010
Ort: Düsseldorf (im ernst)
Beiträge: 1.868
versuch doch mal das textFormat zu setzen, nachdem du den Text gesetzt hast
__________________
greetz Thomas

plz RTFM & Coding Conventions
thomas_E ist gerade online   Mit Zitat antworten
Alt 06-09-2011, 10:46   #6 (permalink)
Flash-Designer
 
Benutzerbild von Martin Kraft
 
Registriert seit: May 2006
Ort: Wiesbaden
Beiträge: 6.162
Du solltest das Textformat zuweisen, nachdem Du den Text neu gesetzt hast:
PHP-Code:
stop();

var 
meldung:String "richtig falsch richtig richtig richtig falsch richtig falsch";
var 
zerlegen:Array = meldung.split(" ");
var 
frage_nr:Number 2//wird dann auch durch Lectora übergeben

var txt_fmt:TextFormat = new TextFormat();

if (
zerlegen[frage_nr 1] == "richtig"){
    
feedback.text "Sie haben die Frage richtig beantwortet.";
    
txt_fmt.color 0x00FF00;
} else {
    
feedback.text "Sie haben die Frage falsch beantwortet.";
    
txt_fmt.color 0x00FF00;
}

feedback.setTextFormat(txt_fmt); 
Gibt dieses Lectora wirklich "richtig" und "falsch" als Strings zurück? Ein Array aus Boolschen Variablen wäre hier wesentlich zweckmäßiger.

Edit: Thomas war schneller
__________________
Viele Grüße // Martin

Martin Kraft // Interaktionsdesign

Hilfreiche Websites:
// Hilfe zur Adobe Flash Plattform
// ActionScript 2 Referenz
// ActionScript 3 Referenz
// ActionScript 3 Arbeitshandbuch
// weitere Flash Ressourcen

Bitte keine Flashfragen per PM oder Profilnachricht! Dafür ist das Forum da!
Martin Kraft ist gerade online   Mit Zitat antworten
Alt 06-09-2011, 10:49   #7 (permalink)
Neuer User
 
Benutzerbild von andrelehnert
 
Registriert seit: Oct 2007
Ort: Kölle
Beiträge: 1.231
hi,
oder einmalig das defaultTextFormat des Textfeldes setzen:
PHP-Code:
feedback.setNewTextFormat(txt_fmt
LG ANdré
__________________
Die Hoffnung stirbt zuletzt.
Aber sie stirbt.
andrelehnert ist gerade online   Mit Zitat antworten
Alt 06-09-2011, 11:01   #8 (permalink)
Neuer User
 
Registriert seit: Oct 2007
Beiträge: 22
Eine Frage

Hallo,

es funktioniert hervorragend! Vielen Dank!

In Lectora kann man Benutzervariablen anlegen, allerdings kann man der Variablen keinen Typ wie in Flash zuweisen. Ebenso kann man keine Arrays anlegen. So komfortabel ist Lectora halt nicht. (Man muss aber auch erwähnen, das Lectora zum Erstellen von eLearnings gedacht ist und von auch Anwendern benutzt werden kann, die wenig bis keine Programmierkenntnisse haben.)

Nochmals vielen Dank!

Gruss Thomas
tompen ist offline   Mit Zitat antworten
Antwort

Lesezeichen

Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind an
Pingbacks sind an
Refbacks sind an


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Eine Frage!? NeMeSiZ ActionScript 1 7 28-03-2006 13:03
Eine Frage... svoni Softwarearchitektur und Entwurfsmuster 4 20-04-2004 18:32
zu php eine frage Steelman HTML und CSS 8 07-03-2003 10:11
Eine Frage... ernie-music Flash 4 und Flash 5 6 26-02-2003 23:24
Eine Frage Reichert Flash 4 und Flash 5 1 15-07-2002 11:34


Alle Zeitangaben in WEZ +1. Es ist jetzt 15:48 Uhr.

Domains, Webhosting & Vserver von Host Europe
Unterstützt das Flashforum!
Adobe User Group


Copyright ©1999 – 2012 Marc Thiele