Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 21-02-2005, 19:49   #1 (permalink)
aus dem FF
 
Registriert seit: Jun 2001
Ort: Munich
Beiträge: 1.306
Auf array dynamisch zugreifen

N abend

Ich habe ein Array 'gruppen' aus dem die Buttons erstellt werden.
Nun gehört zu jedem Wert in dem Array 'gruppen' ein weiteres Array mit Werten zb. (Bild1.jpg, Bild2.jpg).
Wenn man nun auf einen Button drückt, werden weitere Button erstellt,
die ihre Informationen aus dem dazugehörigen Array bekommen sollen.
Nur wie stell ich das an, das die Variable 'gruppe' die an die function createGruppenMenu() übergen wird auf das richtige Array zugreift?

Hier mal mein Code:
PHP-Code:
 gruppen = ["Gastro-Line""Service-Line""Food-Line""Herren-Image""Basic-Line""Oberteile""Rettungsdienst"];
 
GastroLine = ["Bild1.jpg""Bild2.jpg"];
 function 
createGruppenMenu() {
     
_root.createEmptyMovieClip("mc_GruppenMenu"10);
     
_root.mc_GruppenMenu._x 20;
     
_root.mc_GruppenMenu._y 20;
     var 
spalten 4;
     var 
count 0;
     var 
0;
     var 
0;
     for (var 
0i<gruppen.lengthi++) {
         if (
count>=spalten) {
             
y+30;
             
0;
             
count 0;
         }
         var 
display gruppen[i];
         
_root.mc_GruppenMenu.attachMovie("mc_ButtonGruppe""mc_Gruppe"+ii+1);
         
_root.mc_GruppenMenu["mc_Gruppe"+i].display display;
         
_root.mc_GruppenMenu["mc_Gruppe"+i].onRelease = function() {
             
trace(this.display);
             
createThumbnails(this.display);
         };
         
_root.mc_GruppenMenu["mc_Gruppe"+i]._x x;
         
_root.mc_GruppenMenu["mc_Gruppe"+i]._y y;
         
//trace("y: "+y);
         
x+110;
         
count++;
         
//trace(count);
     
}
 }
 
createGruppenMenu();
 
//
 
function createThumbnails(gruppe) {
     
trace(gruppe);
     
tmp gruppe.split("-");
     
bilder tmp[0]+tmp[1];
     
trace(bilder.length);
     
_root.mc_ThumbMenu.removeMovieClip();
     
_root.createEmptyMovieClip("mc_ThumbMenu"11);
     
_root.mc_ThumbMenu._x 15;
     
_root.mc_ThumbMenu._y 80;
     var 
spalten 4;
     var 
count 0;
     var 
0;
     var 
0;
     for (var 
0i<gruppe.lengthi++) {
         if (
count>=spalten) {
             
y+110;
             
0;
             
count 0;
         }
         var 
display gruppen[i];
         
_root.mc_ThumbMenu.attachMovie("mc_ButtonThumb""mc_Thumb"+ii+1);
         
_root.mc_ThumbMenu["mc_Thumb"+i].display display;
         
_root.mc_ThumbMenu["mc_Thumb"+i].onRelease = function() {
             
trace(this.display);
         };
         
_root.mc_ThumbMenu["mc_Thumb"+i]._x x;
         
_root.mc_ThumbMenu["mc_Thumb"+i]._y y;
         
x+110;
         
count++;
     }
 } 
Danke für euer Lösungsansätze ;-)
Grüsse
pixel
Angehängte Dateien
Dateityp: zip DL_Modellpräsentation__1.zip (7,1 KB, 3x aufgerufen)
__________________
Erfolg hat nur der, der etwas tut während er auf den Erfolg wartet.

Nicht klicken!
piXeLfanatiker ist offline   Mit Zitat antworten
Alt 21-02-2005, 19:58   #2 (permalink)
Pending…
 
Benutzerbild von psyk
 
Registriert seit: Jul 2002
Ort: Hamburg
Beiträge: 3.866
Ähm... meinst du sowas, oder doch etwas komplexer?
ActionScript:
  1. var GastroLine=["Bild1.jpg", "Bild2.jpg"]
  2. trace(GastroLine[this.display])
  3. // : oder ohne array
  4. trace("Bild"+[this.display]+".jpg")
__________________
:: Warum einfach, wenn's auch kompliziert geht! ::
psyk ist offline   Mit Zitat antworten
Alt 21-02-2005, 20:29   #3 (permalink)
Freizeitflasher
 
Benutzerbild von Alphanimal
 
Registriert seit: Jun 2004
Ort: Niederösterreich
Beiträge: 615
wie wärs mit einem Objekt?

sub1 = ["Bild1", "Bild2",...];
sub2 = ["Bild3", "Bild4",...];
...
gruppen = [{sub:sub1, ...},{sub:sub2, ...}, ...];

for(i in gruppen){
erstelleGruppe(gruppen[i]);
}

beim klicken(auf gruppe i){
SubAnzeigen(gruppen[i].sub);
}

so in der art
Alphanimal ist offline   Mit Zitat antworten
Alt 21-02-2005, 20:33   #4 (permalink)
aus dem FF
 
Registriert seit: Jun 2001
Ort: Munich
Beiträge: 1.306
nein, doch etwas komplizierter.

PHP-Code:
function createThumbnails(gruppe) {
     
// Gruppe entählt den Namen des Arrays
     
trace(gruppe);
     
// Hier wird der - entfernt
     
tmp gruppe.split("-");
     
// und hier zum richtigen Array-Namen zusammengesetzt
     
bilder tmp[0]+tmp[1];
     
// zum Testen wird hier die Länge des Arrays ausgegeben (sollte 2 sein)
     
trace(bilder.length); 
Gruppe wird aus der anderen function übergeben und enthält den
Namen das Array woraus die neuen Werte eingelesen werden sollen.
Nur wie stelle ich das an, das 'bilder' nicht auf das Array 'bilder'
zufreift, sondern eben den Wert der in der Variable ist?
Hoffentlich hab ich das verständlich ausgedrückt.

greets
pixel
</font></font>
__________________
Erfolg hat nur der, der etwas tut während er auf den Erfolg wartet.

Nicht klicken!
piXeLfanatiker ist offline   Mit Zitat antworten
Alt 21-02-2005, 21:32   #5 (permalink)
poke
 
Registriert seit: Dec 2002
Ort: Iserlohn [NRW]
Beiträge: 2.304
so gehts, ich weiß aber nicht, wie du es mit relativen pfaden machen kannst, da this hier nicht geht.

trace(_root[bilder].length);
pokepika ist offline   Mit Zitat antworten
Alt 21-02-2005, 22:03   #6 (permalink)
aus dem FF
 
Registriert seit: Jun 2001
Ort: Munich
Beiträge: 1.306
boaaa, dankeee. das ist es. man und ich zerbrech mir hier den schädel.

greets
pixel
__________________
Erfolg hat nur der, der etwas tut während er auf den Erfolg wartet.

Nicht klicken!
piXeLfanatiker 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 14:48 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele