• beyond tellerrand – play. Register Now!
Zurück   Flashforum > Flash > ActionScript > ActionScript 3

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 20-01-2010, 16:49   #1 (permalink)
Neuer User
 
Registriert seit: Sep 2009
Beiträge: 11
dynamisch bilder laden und nebeneinander positionieren?

Hi,

ich will eine galerie programmieren, die sich aus einer xml datei bilder lädt. das problem ist, dass die anzahl der bilder variabel ist. des Weiteren sollen alle bilder auf der bühne nebeneinander erscheinen. sprich, die x position des zweiten bildes muss den wert der breite des vorangegangenen bildes haben.

Meine überlegung war zunächst pro bild einen movieClip auf die bühne zu laden, der eine breite von einem Pixel hat. dann soll per addChild() das jeweilige bild eingfügt werden, somit ändert sich die breite des movieclips entsprechend. Mein Problem ist, dass ich die MovieClips nicht einzelnd ansprechen kann, da sie ja durch eine Schleife erstellt werden (und somit alle den gleichen namen haben). setze ich also die x position eines der movieclips, ändert sich dieser wert auch für alle anderen.

gibt es eine andere möglichkeit? oder gibt es einen weg die movieClips einzelnd anzusprechen? (instanzname funktioniert bei mir nicht)

Wie würdet ihr an die sache rangehen?
rotesblau ist offline   Mit Zitat antworten
Alt 20-01-2010, 17:04   #2 (permalink)
Neuer User
 
Benutzerbild von the binary
 
Registriert seit: Jul 2001
Ort: Berlin | Friedrichshain
Beiträge: 3.561
Zitat:
Mein Problem ist, dass ich die MovieClips nicht einzelnd ansprechen kann, da sie ja durch eine Schleife erstellt werden (und somit alle den gleichen namen haben).
hier liegt der hase im pfeffer..
das kann auch nich gutgehen. sorge mit hilfe einer 'zaehler-variable' dafuer,
dass jeder mc seinen eigenen namen bekommt, dann kannst du sie spaeter
auch (egal ob schleife oder nich) ansprechen..

gruss
__________________
8bm | join ff@BOINC
formpackage.org | audiohunter.de | problematica.de | 8ball-media.de/blog | taikonauten.cn
the binary ist offline   Mit Zitat antworten
Alt 20-01-2010, 17:09   #3 (permalink)
Neuer User
 
Registriert seit: Sep 2009
Beiträge: 11
das habe ich versucht: sie tragen sogar die namen "picture1" "picture2" "picture3" etc. aber wie schon erwähnt funktioniert das mit instanznamen nicht.

habe ich dich falsch verstanden? gibt es eine möglichkeit einen variablennamen wie var image:imageHolder = new imageHolder; (wie ich sie verwende), durch eine zähler variable bei jedem schleifendurchlauf zu manipulieren, so dass die variable beim ersten durchlauf image1 beim zweiten image2 etc heißt? ich habe es mit image[i] versucht aber das ging nicht...

mir ist schon bewusst, dass eine schleife hier die sache kompliziert, aber da die finale anzahl der bilder nicht bekannt ist, kann ich hier ja nicht mit festen werten arbeiten.
rotesblau ist offline   Mit Zitat antworten
Alt 20-01-2010, 17:41   #4 (permalink)
Neuer User
 
Benutzerbild von the binary
 
Registriert seit: Jul 2001
Ort: Berlin | Friedrichshain
Beiträge: 3.561
mal einen schuss ins blaue..
unter der annahme, dass dein ImageHolder von Sprite/MovieClip erbt,
kannst du z.b. die 'name' property benutzen.


ActionScript:
  1. var num:Number = 10;
  2. var image:ImageHolder;
  3.        
  4. for (var i:Number=0; i<num; i++) {
  5.        
  6.     image = new ImageHolder;
  7.     image.name = 'image'+ i;
  8.                
  9.     addChild(image);
  10. }
  11.  
  12.        
  13. //-- auf das erste erzeugte image zugreifen..
  14.        
  15. image = getChildByName('image0');
  16. image.x = 10;

gruss
__________________
8bm | join ff@BOINC
formpackage.org | audiohunter.de | problematica.de | 8ball-media.de/blog | taikonauten.cn
the binary ist offline   Mit Zitat antworten
Alt 20-01-2010, 20:43   #5 (permalink)
Neuer User
 
Registriert seit: Oct 2009
Ort: Bremen
Beiträge: 147
Oder deine erzeugten Elemente in ein Array packen. So kannst du per durchlaufende for-schleife deine Bilder direkt ansprechen
DerTobi ist offline   Mit Zitat antworten
Alt 20-01-2010, 21:36   #6 (permalink)
Neuer User
 
Registriert seit: Sep 2009
Beiträge: 11
Zitat:
Zitat von the binary Beitrag anzeigen
mal einen schuss ins blaue..
unter der annahme, dass dein ImageHolder von Sprite/MovieClip erbt,
kannst du z.b. die 'name' property benutzen.


ActionScript:
  1. var num:Number = 10;
  2. var image:ImageHolder;
  3.        
  4. for (var i:Number=0; i<num; i++) {
  5.        
  6.     image = new ImageHolder;
  7.     image.name = 'image'+ i;
  8.                
  9.     addChild(image);
  10. }
  11.  
  12.        
  13. //-- auf das erste erzeugte image zugreifen..
  14.        
  15. image = getChildByName('image0');
  16. image.x = 10;

gruss


Also erstmal habe ich eben vergessen mich für die schnelle antwort zu bedanken, also danke dafür! Leider habe ich das auch schon versucht. aber sogar wenn ich mit getChildByName arbeite funktioniert es nicht. Deinen Code habe ich auch mal ausprobiert und er spuckt mir einen error für

image = getChildByName('image0');

aus.
rotesblau ist offline   Mit Zitat antworten
Alt 20-01-2010, 21:36   #7 (permalink)
Neuer User
 
Registriert seit: Sep 2009
Beiträge: 11
Zitat:
Zitat von DerTobi Beitrag anzeigen
Oder deine erzeugten Elemente in ein Array packen. So kannst du per durchlaufende for-schleife deine Bilder direkt ansprechen
Super, hat funktioniert. Da hab ich garnicht dran gedacht. Thx !
rotesblau ist offline   Mit Zitat antworten
Antwort

Lesezeichen

Stichworte
galerie, schleife, xml

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
Textfeld dynamisch nebeneinander positionieren breaddes ActionScript 3 10 04-03-2009 15:47
Bilder nebeneinander in einem MC positionieren mikettel Flash Einsteiger 3 13-04-2006 14:01
loadMovie - jpegs nebeneinander laden/positionieren rok°! ActionScript 1 6 30-01-2005 22:27
Bilder dynamisch laden und nebeneinander setzen MasterFX Flash MX 7 31-08-2004 09:18
[Frage]Bilder dynamisch laden und positionieren Steven_LS5 Flash MX 18 14-07-2003 11:01


Alle Zeitangaben in WEZ +1. Es ist jetzt 06:08 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele