Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 02-03-2007, 01:12   #1 (permalink)
Neuer User
 
Benutzerbild von schelli
 
Registriert seit: Sep 2003
Ort: Würzburg
Beiträge: 36
mehrdimensionales assoziatives array

in einem mehrdimensionalen array möchte ich auf feld 0 einige grunddaten und auf den restlichen feldern 1-18 sich wiederholende andere daten speichern.

aus diesem array - baue ich meine frageseite auf - das design aus feld0, den rest aus feldern 1-18 - klappt... aaaber... ist das sauberes programmieren, oder sollte ich das lieber anders lösen, indem ich feld0 nicht innerhalb meines arrays lasse? welche nachteile habe ich, wenn ich diese lösung nehme ?

var datacontainer:Array = new Array();
datacontainer[0] = new Object();
datacontainer[0].blattueberschrift="fragen zur natur";
datacontainer[0].balkenfarbe="006699";
datacontainer[0].logo="logos/natur.jpg";
datacontainer[0].eigentuemer="herr müller";
datacontainer[0].logicoart=5;
datacontainer[0].design=8;


for(a=1;a<19;a++){
datacontainer[a] = new Object();
datacontainer[a].fragefeld="warum ist das wasser blau";
datacontainer[a].antwortfeld="weil der himmel sich spiegelt";
datacontainer[a].farbpunkt=5;
datacontainer[a].bildpfad="bilder/see.jpg";
}


//testausgaben mit trace (klappt prima)

trace(datacontainer[0].blattueberschrift);
trace(datacontainer[1].fragefeld);
__________________
besser arm dran als bein ab
schelli ist offline   Mit Zitat antworten
Alt 02-03-2007, 03:12   #2 (permalink)
Techniker
 
Benutzerbild von hgseib
 
Registriert seit: Sep 2003
Ort: 64807
Beiträge: 16.324
alles was geht ist gut.

nur eine formale sache: flash kennt keine "assoziativen array's" das sind bei flash objecte. man merkt es spätestens daran, wenn man array-functionen darauf anwenden will und es nicht geht.
und du hast ja auch korrekter weisse geschrieben: new Object();
__________________
die ultimative antwort auf alle programmierfragen: der debugger
mfg h.g.seib www.SeibsProgrammLaden.de
hgseib ist offline   Mit Zitat antworten
Alt 02-03-2007, 07:40   #3 (permalink)
nerdig working
 
Benutzerbild von michael
 
Registriert seit: Jul 2001
Ort: Hamburg
Beiträge: 5.832
das einzige problem ist, dass du irgendwann einen untypisierten moloch zu verwalten hast.
wenn du es sauberer haben willst, könntest du dich mal mit AS2 auseinandersetzen, aber wir sind ja hier im AS1 bereich.
michael ist offline   Mit Zitat antworten
Alt 02-03-2007, 08:06   #4 (permalink)
Perverted Hermit
 
Benutzerbild von Omega Psi
 
Registriert seit: Mar 2004
Ort: Delmenhorst
Beiträge: 12.138
What Mike said...

Anstatt new Object() könntest du auch eine Klasse Questions schreiben, die andere Klassen Questions verwaltet.
ActionScript:
  1. class Question {
  2.     var questionsArray:Array;
  3.     public function Question() {
  4.         this.questionsArray = new Array();
  5.     }
  6.     public function addQuestion(q:Question) {
  7.         this.questionsArray.push(q);
  8.     }
  9.     public function getQuestionAt(i:Number):Question {
  10.         return this.this.questionsArray[i]
  11.     }
  12. }
ActionScript:
  1. class Question {
  2.     var question:String;
  3.     var answer:String;
  4.     var colorpoint:Number;
  5.     var path:String;
  6.     public function Question(question:String, answer:String, colorpoint:String, path:String) {
  7.         this.question = question;
  8.         this.answer = answer;
  9.         this.colorpoint = colorpoint;
  10.         this.path = path;
  11.     }
  12.     public function getQuestion():String {
  13.         return this.question;
  14.     }
  15.     public function getAnswer():String {
  16.         return this.answer;
  17.     }
  18.     public function getColorpoint():Number {
  19.         return this.colorpoint;
  20.     }
  21.     public function getPath():String {
  22.         return this.path;
  23.     }   
  24. }
Das ist, bis auf die Funktionen, ein äquivalenter Ansatz Daten in Objekten zu speichern verglichen mit dem new Object()-Mechanismus.

Nicht getestet, Tippfehler könnten drinne sein.

Zitat:
Zitat von hgseib Beitrag anzeigen
alles was geht ist gut.
So sehr ich deine Beiträge und dein Know how schätze... mit der Aussage bin ich nicht d'accord.

Geändert von Omega Psi (02-03-2007 um 08:10 Uhr)
Omega Psi ist offline   Mit Zitat antworten
Alt 02-03-2007, 09:20   #5 (permalink)
Neuer User
 
Benutzerbild von blaupause
 
Registriert seit: Jul 2003
Beiträge: 38
Sehr praktisch finde ich auch xml-Attribute.
blaupause ist offline   Mit Zitat antworten
Alt 25-03-2007, 15:50   #6 (permalink)
Neuer User
 
Benutzerbild von :: RK ::
 
Registriert seit: Jan 2002
Ort: Umgebung Stuttgart
Beiträge: 5.412
Zitat:
Zitat von michael Beitrag anzeigen
das einzige problem ist, dass du irgendwann einen untypisierten moloch zu verwalten hast.
wenn du es sauberer haben willst, könntest du dich mal mit AS2 auseinandersetzen, aber wir sind ja hier im AS1 bereich.
hi,

ich versuch mich gerade an sowas:
ActionScript:
  1. var arrDetailInfos:Array = new Array();
  2. arrDetailInfos[0] = new Array();
  3. arrDetailInfos[0]["image"] = "bilder/jpg/img_01.jpg";
  4. arrDetailInfos[0]["infos"][0]["label"] = "Service";
  5. arrDetailInfos[0]["infos"][0]["value"] = "bla";
  6. arrDetailInfos[0]["infos"][1]["label"] = "Service 2";
  7. arrDetailInfos[0]["infos"][1]["value"] = "blub";
  8. arrDetailInfos[0]["infos"][2]["label"] = "Service 3";
  9. arrDetailInfos[0]["infos"][2]["value"] = "bla2";

wie würde die geschichte denn AS2-konform aussehen?
__________________
Das Glück im Leben hängt von den guten Gedanken ab, die man hat.

Easing_Equations / Flash Kontaktformular / FlashPlugin W3C konform / Nützliche Beiträge zu FAQs

Geändert von :: RK :: (25-03-2007 um 16:00 Uhr)
:: RK :: ist offline   Mit Zitat antworten
Alt 25-03-2007, 17:02   #7 (permalink)
ActionStripper
 
Benutzerbild von Mr.Twister
 
Registriert seit: Nov 2001
Ort: Oldenburg
Beiträge: 3.275
also AS2 konform wäre es so, wie omega-psi es geschrieben hat: klassenbasiert.
die erste der beiden klassen müsste aber wohl einen anderen namen haben (z.B. "QuestionHolder".)
__________________
Design ist AUCH Geschmackssache.
Mr.Twister 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



Alle Zeitangaben in WEZ +1. Es ist jetzt 22:43 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele