Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 21-10-2009, 09:57   #1 (permalink)
Grillmeister
 
Benutzerbild von Schaschlick
 
Registriert seit: Jul 2003
Ort: Stuttgart
Beiträge: 188
Array und die Schleife

Hallo!

Ich möchte folgenden Code in eine Schleife verpacken, da es viele Arrays sind

Code:
mein_lv = new LoadVars();
mein_lv.load("array.txt");
mein_lv.onLoad = function(status) {
/*var Frage = this.Frage;
QRes = Frage.split(",")*/

var Frage
var Antworten
var Loesung


QRes = Frage = this.Frage = this.Frage.split("|");
LRes = Loesung = this.Loesung = this.Loesung.split("|");


ARes = this.Antworten = this.Antworten.split("|");

		

    for (f=0; f < ARes.length; f++) {
		
        Auswahl=ARes[i].split(",");
		ARes[f] = new Array(ARes[f]);
		
		ARes[f][f] = Auswahl[f];
		ARes[f][f+1] = Auswahl[f+1];
		ARes[f][f+2] = Auswahl[f+2];
		ARes[f][f+3] = Auswahl[f+3];
		

    }

Ich habs mit einer for-schleife versucht, allerdings verhaut er mir da das ARes
__________________
Der Schwabe an sich kann alles nur KEIN Hochdeutsch
Schaschlick ist offline   Mit Zitat antworten
Alt 21-10-2009, 10:18   #2 (permalink)
Neuer User
 
Benutzerbild von the binary
 
Registriert seit: Jul 2001
Ort: Berlin | Friedrichshain
Beiträge: 3.561
wie sieht die datei aus, die du laedst und was ist der fehler.. ?
__________________
8bm | join ff@BOINC
formpackage.org | audiohunter.de | problematica.de | 8ball-media.de/blog | taikonauten.cn
the binary ist offline   Mit Zitat antworten
Alt 21-10-2009, 10:37   #3 (permalink)
Grillmeister
 
Benutzerbild von Schaschlick
 
Registriert seit: Jul 2003
Ort: Stuttgart
Beiträge: 188
Das is etwas kompliziert
Meine im Flashfilm verpackten Arrays funktionieren. Allerdings möchte ich meine AS Arrays in eine TXT auslagern.


AS Code der in eine TXT soll
Code:
QRes = new Array();
QRes[0] = "WAS IST EIN ELCH ?";
QRes[1] = "WAS IST EIN OPOSUM ?";
QRes[2] = "WELCHES TIER MACHT MUH ?";
QRes[3] = "WO LEBT DER EISBÄR ?";
QRes[4] = "WER HAT SCHWARZE STREIFEN ?";
QRes[5] = "WANN SCHLÄFT SHAWN DAS SCHAF ?";
QRes[6] = "WELCHES TIER KANN FLIEGEN ?";
QRes[7] = "WO HAT DAS PFERD SEINE AUGEN ?";
QRes[8] = "WELCHES TIER IST DAS SCHNELLSTE ?";
QRes[9] = "WIE BRÜTEN KAISERPINGUINE IHR EI AUS ?";
QRes[10] = "WELCHES IST EIN SCHMETTERLING ?";
QRes[11] = "WIE ALT KÖNNEN SCHILDKRÖTEN WERDEN ?";

// Antwort Pool
ARes = new Array();
ARes[0] = ["Ein Säugetier", "Eine Automarke", "Ein UFO", "Ein Baum"];
ARes[1] = ["Ein Schwein", "Eine Sau", "Ein Tier in Australien", "Ein Pinci"];
ARes[2] = ["Hund", "Katze", "Maus", "Kuh"];
ARes[3] = ["Nordpol", "Galapagos Inseln", "Südpol", "Takatuka Land"];
ARes[4] = ["Puma", "Leopard", "Zebra", "Nashorn"];
ARes[5] = ["Mittags", "Morgens", "Nie", "Abends"];
ARes[6] = ["Pferd", "Elefant", "Vogel", "Mammut"];
ARes[7] = ["Am Rücken", "Am Kopf", "Am Hals", "Am Bauch"];
ARes[8] = ["Panther", "Gepard", "Springbock", "Tiger"];
ARes[9] = ["Im Nest", "Unter dem Flügel", "In einer Hautfalte", "Auf dem Kopf"];
ARes[10] = ["Der kleine Fuchs", "Der große General", "Die lustige Wittwe", "Der freche Dachs"];
ARes[11] = ["60 Jahre", "100 Jahre", "150 Jahre", "200 Jahre"];

Mit QRes komme ich klar, da das nicht so verschachtelt ist wie ARes.


Die TXT
Code:
Frage=WAS IST EIN ELCH ?|WAS IST EIN OPOSUM ?|WELCHES TIER MACHT MUH ?|WO LEBT DER EISBÄR ?|WER HAT SCHWARZE STREIFEN ?|WANN SCHLÄFT SHAWN DAS SCHAF ?|WELCHES TIER KANN FLIEGEN ?|WO HAT DAS PFERD SEINE AUGEN ?|WELCHES TIER IST DAS SCHNELLSTE ?|WIE BRÜTEN KAISERPINGUINE IHR EI AUS ?|WELCHES IST EIN SCHMETTERLING ?|WIE ALT KÖNNEN SCHILDKRÖTEN WERDEN ?

&Antworten=Ein Säugetier,Eine Automarke,Ein UFO, Ein Baum|5,6,7,8|9,10,11,12

Mein aktuelles AS:

Code:
stop();

mein_lv = new LoadVars();
mein_lv.load("array.txt");
mein_lv.onLoad = function(status) {

var Frage
var Antworten
var Loesung

QRes = Frage = this.Frage = this.Frage.split("|");
LRes = Loesung = this.Loesung = this.Loesung.split("|");
ARes = this.Antworten = this.Antworten.split("|");
//trace(ARes[0]);
       
Auswahl=ARes[0].split(",");
ARes[0] = new Array(ARes[0]);
ARes[0][0] = Auswahl[0];
ARes[0][1] = Auswahl[1];
ARes[0][2] = Auswahl[2];
ARes[0][3] = Auswahl[3];

Auswahl=ARes[1].split(",");
ARes[1] = new Array(ARes[1]);
ARes[1][0] = Auswahl[0];
ARes[1][1] = Auswahl[1];
ARes[1][2] = Auswahl[2];
ARes[1][3] = Auswahl[3];

}
Wie gesagt, so funktioniert es auch. Allerdings möchte ich nich alle Zeilen wiederholen. Sondern elegant in eine while oder for Schleife verpacken. Allerdings klappt das nicht. Er verhaut mir da immer mein ARes
__________________
Der Schwabe an sich kann alles nur KEIN Hochdeutsch
Schaschlick ist offline   Mit Zitat antworten
Alt 21-10-2009, 11:11   #4 (permalink)
Neuer User
 
Benutzerbild von the binary
 
Registriert seit: Jul 2001
Ort: Berlin | Friedrichshain
Beiträge: 3.561
es ist relativ einfach, wenn du dir die aufgaben in einzelne loesungs-hilfen zerlegst..
hab dir mal quick'n dirty was gebastelt..


ActionScript:
  1. stop();
  2.  
  3. mein_lv = new LoadVars();
  4. mein_lv.onLoad = function(status) {
  5.  
  6.     var QRes: Array;
  7.     var ARes: Array;
  8.    
  9.     var numOfAnswerBlocks: Number = 0;
  10.    
  11.     var parsedAnswers: Array = new Array;
  12.  
  13.     var result: Array
  14.    
  15.     QRes = this.Frage.split("|");
  16.     ARes = this.Antworten.split("|");
  17.  
  18.     trace('QRes: '+ QRes);
  19.     trace('ARes: '+ ARes);
  20.    
  21.     numOfAnswerBlocks = ARes.length;
  22.    
  23.     for (var i=0; i<numOfAnswerBlocks; i++) {
  24.        
  25.         result = parseAnswers(ARes[i]);
  26.        
  27.         parsedAnswers.push(result);
  28.     }
  29.    
  30.     trace('----');
  31.     trace(''+ mx.data.binding.ObjectDumper.toString(parsedAnswers));
  32.    
  33.     //--
  34.     trace('');
  35.     trace('frage 1 antwort 3: '+ parsedAnswers[0][2]);
  36.    
  37. }
  38.  
  39.  
  40. function parseAnswers (answerBlock:String): Array {
  41.    
  42.     var result: Array = new Array;
  43.    
  44.     var data: Array = answerBlock.split(',');
  45.    
  46.     var numOfAnswers: Number = data.length;
  47.  
  48.     trace('parseAnswers()');
  49.     trace(' -number of answers in this block: '+ numOfAnswers);
  50.        
  51.     for (var i=0; i<numOfAnswers; i++) {
  52.        
  53.         trace('  -answer['+i+']: '+ data[i]);
  54.        
  55.         result.push(data[i]);
  56.     }
  57.    
  58.     return result;
  59. }
  60.  
  61.  
  62. mein_lv.load("array.txt");

hoffe es hilft..
gruss

//b


[edit]

fuer die 'parseAnswers()-funktion' wuerde in deinem fall auch das reichen, war halt nur zur besseren uebersicht..

ActionScript:
  1. function parseAnswers (answerBlock:String): Array {
  2.     return answerBlock.split(',');
  3. }
__________________
8bm | join ff@BOINC
formpackage.org | audiohunter.de | problematica.de | 8ball-media.de/blog | taikonauten.cn

Geändert von the binary (21-10-2009 um 11:17 Uhr)
the binary ist offline   Mit Zitat antworten
Alt 21-10-2009, 11:20   #5 (permalink)
Grillmeister
 
Benutzerbild von Schaschlick
 
Registriert seit: Jul 2003
Ort: Stuttgart
Beiträge: 188
Ayay, so kompliziert?!

hmpf, bei mir kommt Syntax Error
var QRes: Array;
var ARes: Array;
ich muss dazusagen, dass ich als Flash6 veröffentlichen muss.

gibt es keine Möglichkeit dieses

Code:
Auswahl=ARes[0].split(",");
ARes[0] = new Array(ARes[0]);
ARes[0][0] = Auswahl[0];
ARes[0][1] = Auswahl[1];
ARes[0][2] = Auswahl[2];
ARes[0][3] = Auswahl[3];

Auswahl=ARes[1].split(",");
ARes[1] = new Array(ARes[1]);
ARes[1][0] = Auswahl[0];
ARes[1][1] = Auswahl[1];
ARes[1][2] = Auswahl[2];
ARes[1][3] = Auswahl[3];
irgendwie in eine Schleife zu verpacken? Die anderen Arrays funktionieren, nur das mehrdimensionale nich...
Danke für dein Aufwand des ding zu schreiben. Leider versteh ich da nur Bahnhof. Hast du vielleicht noch n Ansatz, den ich ansatzweise nachvollziehen kann?

Danke schon mal!
__________________
Der Schwabe an sich kann alles nur KEIN Hochdeutsch
Schaschlick ist offline   Mit Zitat antworten
Alt 21-10-2009, 11:36   #6 (permalink)
Neuer User
 
Benutzerbild von the binary
 
Registriert seit: Jul 2001
Ort: Berlin | Friedrichshain
Beiträge: 3.561
uh, is doch nich kompliziert..

fuer flash 6 brauchst du nur die typisierungen wegzunehmen..
schaus dir doch einfach mal als flash8 kopiliert an, damit du die funktionsweise verstehts.. das umschreiben is dann nich mehr so schwer..

//b
__________________
8bm | join ff@BOINC
formpackage.org | audiohunter.de | problematica.de | 8ball-media.de/blog | taikonauten.cn
the binary ist offline   Mit Zitat antworten
Alt 21-10-2009, 12:08   #7 (permalink)
Grillmeister
 
Benutzerbild von Schaschlick
 
Registriert seit: Jul 2003
Ort: Stuttgart
Beiträge: 188
ich steig nich durch
__________________
Der Schwabe an sich kann alles nur KEIN Hochdeutsch
Schaschlick ist offline   Mit Zitat antworten
Alt 21-10-2009, 12:28   #8 (permalink)
Neuer User
 
Benutzerbild von the binary
 
Registriert seit: Jul 2001
Ort: Berlin | Friedrichshain
Beiträge: 3.561
warum nicht ? wo is das/dein konkretes problem ?
hast du es mal als F8 ausgefuehrt.. ?
__________________
8bm | join ff@BOINC
formpackage.org | audiohunter.de | problematica.de | 8ball-media.de/blog | taikonauten.cn
the binary ist offline   Mit Zitat antworten
Alt 21-10-2009, 13:02   #9 (permalink)
Grillmeister
 
Benutzerbild von Schaschlick
 
Registriert seit: Jul 2003
Ort: Stuttgart
Beiträge: 188
Es traced auf jedenfall die richtigen Ergebnisse.
Allerdings brauch ich die Form ARes[0][0] zum weiterverarbeiten meiner Arrays für mein restliches Script.

Ich häng dir mal meine Datei an, es wurmt mich tierisch. Ich denk immer, ich wär aufm richtigen Dampfer und habs auch schon ziemlich weit geschafft. Aber der letzte Schritt zum Erfolg fehlt mir einfach.

Flash 6 veröffentlichen, sonst geht gar nixx. Und nur die Oposum und Elch Frage funktionieren
__________________
Der Schwabe an sich kann alles nur KEIN Hochdeutsch
Schaschlick ist offline   Mit Zitat antworten
Alt 21-10-2009, 14:28   #10 (permalink)
Neuer User
 
Benutzerbild von the binary
 
Registriert seit: Jul 2001
Ort: Berlin | Friedrichshain
Beiträge: 3.561
sorry.. meinte eigentlich flash8 und as2..
geht aber auch in flash6 und as2..

und:
ActionScript:
  1. trace('frage 1 antwort 3: '+ parsedAnswers[0][2]); // Ein UFO
  2.  

ist doch genau die schreibweise, die du haben willst.. !?
__________________
8bm | join ff@BOINC
formpackage.org | audiohunter.de | problematica.de | 8ball-media.de/blog | taikonauten.cn
the binary ist offline   Mit Zitat antworten
Alt 21-10-2009, 14:53   #11 (permalink)
Grillmeister
 
Benutzerbild von Schaschlick
 
Registriert seit: Jul 2003
Ort: Stuttgart
Beiträge: 188
flash 6 und as1 brauch ich

so ein mist, und ne kleine datei zum anhängen bekomm ich au nich raus.
gibts dein code nich in ganz simple? as1 kompatibel
__________________
Der Schwabe an sich kann alles nur KEIN Hochdeutsch
Schaschlick ist offline   Mit Zitat antworten
Alt 21-10-2009, 15:03   #12 (permalink)
experience++;
 
Benutzerbild von salazar
 
Registriert seit: Jul 2002
Ort: Düsseldorf
Beiträge: 11.347
hi,
wie schon beschrieben mußte den code doch nur minimal anpassen...
also alle typisierungen raus.
z.B. bei diesem codeschnipsel hier:
PHP-Code:
function parseAnswers (answerBlock:String): Array {

    var 
result: Array = new Array(); 
muss in as1 wie folgt aussehen:
PHP-Code:
function parseAnswers (answerBlock) {

    var 
result = new Array(); 
cheers,
sal
__________________
Bitte keine Flashfragen an mich schicken. Dafür ist ja das Forum da! Das betrifft auch Profilnachrichten.
Chuck Norris hat den Flash Player für alle mobilen Betriebssysteme!
salazar ist offline   Mit Zitat antworten
Alt 22-10-2009, 08:11   #13 (permalink)
Grillmeister
 
Benutzerbild von Schaschlick
 
Registriert seit: Jul 2003
Ort: Stuttgart
Beiträge: 188
Ich habs jetzt so gemacht.

ActionScript:
  1. for(f=0;f<ARes.length;f++){
  2.                
  3.            Auswahl=ARes[f].split(",");
  4.            ARes[f] = new Array(ARes[f]);
  5.            ARes[f][0] = Auswahl[0];
  6.            ARes[f][1] = Auswahl[1];
  7.            ARes[f][2] = Auswahl[2];
  8.  
  9. }
__________________
Der Schwabe an sich kann alles nur KEIN Hochdeutsch
Schaschlick ist offline   Mit Zitat antworten
Alt 22-10-2009, 10:45   #14 (permalink)
Neuer User
 
Benutzerbild von the binary
 
Registriert seit: Jul 2001
Ort: Berlin | Friedrichshain
Beiträge: 3.561
da steig ich jetzt nich durch, aber ok, wenn du deine loesung gefunden hast, fein..
__________________
8bm | join ff@BOINC
formpackage.org | audiohunter.de | problematica.de | 8ball-media.de/blog | taikonauten.cn
the binary 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
array und for-schleife slave_of_style ActionScript 3 23 27-04-2008 17:42
x-pos anordnen innerhalb schleife/array, onEnterFrame innerhlab schleife? andretti ActionScript 1 9 15-06-2005 09:26
array schleife maikdyke ActionScript 1 1 04-12-2003 17:19
array und for...in schleife jazz ActionScript 1 6 23-08-2002 11:51
array und for schleife breze Flash MX 3 01-07-2002 09:40


Alle Zeitangaben in WEZ +1. Es ist jetzt 12:32 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele