| |||||||
Du magst keine Werbung? Wir auch nicht!
Einfach registrieren und die Werbung ist weg. Diese Nachricht sehen nur nicht registrierte Nutzer.
![]() |
| | LinkBack | Themen-Optionen | Ansicht |
| | #1 (permalink) |
| Neuer User Registriert seit: Oct 2011
Beiträge: 77
| Lade Bilder in MC-Instanzen
Ich versuch 6 Bilder aus einem Verzeichnis in seperate Instanzen von einem MovieClip zu laden . Das MC befindet sich in der Bibliothek und export für AS "jop" Als ersetzes erzeuge ich in eine Schleife 6 Instanzen dieses MC und versuche zu jeder das neugeladene Bild zuzuweisen, leider wird nur das letzte Bild in der letzten Instanz geladen. Offensichtlich klappt die zuweisung nicht mit newMC . Code: public function load_gallery_ordner(){
var current_adr:String="";
var ClassDefinition:Class = Class(getDefinitionByName(getQualifiedClassName(jop)));
for (var i:Number=1;i<=6;i++){
var newMC:MovieClip = new ClassDefinition;
newMC.name = "test"+String(i); ;
addChild(newMC);
newMC.x=(i-1)*(newMC.width+20);
newMC.y=i*30;
current_adr="http://localhost/hp/bilder/"+i+".jpg";
var lid:Loader=new Loader();
lid.load(new URLRequest(current_adr));
lid.contentLoaderInfo.addEventListener(Event.COMPLETE,function (){
newMC.addChild(lid.content);
newMC.width=100;
newMC.height=100;
});
}
} Habs auch so versucht : Code: this["test"+i].addChild(lid.content); Geändert von pixelsadist (26-10-2011 um 06:17 Uhr) |
| | |
| | #2 (permalink) |
| Keine Panik Registriert seit: Apr 2010 Ort: Düsseldorf (im ernst)
Beiträge: 1.866
|
paar Anmerkungen zu deinem Code: - KlassenNamen fangen mit Grossbuchstaben an, also "Jop" statt "jop" - namen sind imo in AS3 überholt, arbeite mit Referenzen - solche durchnummerierten Namen sind weder sehr dynamisch, noch schnell; nimm Arrays - erst Event-Listener hinzufügen, dann die Operation ausführen, die dieses Event auslöst - dynamische funktionen als Event-listener sind nicht gut, die bekommst du (fast) garnicht mehr weg - Event-Listener bitte wieder wegräumen, wenn sie nicht mehr benötigt werden, sonst können Objekte nicht gelöscht werden PHP-Code: |
| | |
| | #3 (permalink) |
| Neuer User Registriert seit: Oct 2011
Beiträge: 77
|
ich würde es gern noch verstehen. Punkt1: Also du erzeugst eine neue MC instanz in der du dem leader lid einfügst. Code: mc.addChild(lid); Code: e.currentTarget.removeEventListener(e.type, imageLoaded); Code: var lid:Loader = e.currentTarget.loader; Code: var mc:MovieClip = lid.parent as MovieClip; Code: mc.addChildAt(lid.content, mc.getChildIndex(lid)); mc.removeChild(lid); Punkt 3 und 4 ist keine wirklich umwandlung sondern eher eine verknüpfung zu dem bereits existierendem mc und lid Bei Punkt5 verstehe ich nicht warum lid durch lid.content ersetzt werden soll. Gibt es eine möglichkeit abzufragen welche listener noch aktiv sind ? Geändert von pixelsadist (26-10-2011 um 16:07 Uhr) |
| | |
| | #4 (permalink) |
| Keine Panik Registriert seit: Apr 2010 Ort: Düsseldorf (im ernst)
Beiträge: 1.866
|
Punkt 1: ja, war für mich grad der einfachste Weg, jedem Loader einen MovieClip zuzuordnen, und umgekehrt. Punkt 2: das meine ich mit "Event-Listener bitte wieder wegräumen, wenn sie nicht mehr benötigt werden". dieser spezielle Loader brauch den Event-Listener nicht mehr, da er kein weiteres Bild mehr laden wird. (das werden andere Loader sein) Punkt 3: ich erzeuge hier keinen neuen Loader, sondern Event.currentTarget enthält das Objekt, dem ich mit addEventListener einen Event-Listener hinzugefügt habe. also, ich suche nur den Loader raus, der gerade die Funktion aufgerufen hat. (wie der Absender bei einem Brief) Punkt 3 und 4: da wird nix umgewandelt, das wird gecastet, der Unterschied ist: ich kann aus nem Huhn keinen Fisch machen, aber, wenn jemand sagt ich bring ein Tier zum essen mit, und ich weiss dass es ein Huhn ist, kann ich es auch wie ein Huhn behandeln (lecker hähnchenswchenkel in einer Paprika-Marinade, dazu Bratkartoffeln und etwas Gemüse, und es wird ein richtig leckeres Essen, aber ich bin etwas abgeschweift )Also, Event.currentTarget ist vom Typ Object, und das kann so ziemlich alles sein (äquivalent zum Tier). wenn ich aber weiss, dass es ein Loader ist (Huhn), kann ich es auch als solchen behandeln, und alle Methoden eines Loaders benutzen. (Hahnchenschenken geht schlecht wenn ich nen Fisch vor mir hab) Punkt 5: der Loader hat seinen Dienst getan, der wird jetzt nicht mehr benötigt, ich brauch nur das Bild/die SWF die geladen wurde. Ich hab Loader.content hinzugefügt, weil du das so gemacht hast. du kannst die beiden Zeilen genauogut weglassen, und den Content samt Loader in den Movieclip packen. dann solltest du dir aber bewusst sein, dass dort ein Loader im Movieclip steckt, und kein Bitmap (das ist im Loader drin). Das macht dann einen Unterschied, wenn du bspw auf das BitmapData-Objekt des Bildes zugreifen willst, over MovieClip.play() bei einer nachgeladenen swf ausführen willst, ... das Array ist in diesem Code bislang überflüssig. ich hab es nur eingebaut, damit du siehst, wie ich das meine, bzw wie das geht, und wo du dann die einzelnen Movieclips herholen kannst, wenn sie einmal erzeugt sind. mit images hast du hier also immer eine Liste der Movieclips, incl Bilder, die gerade auf der Bühne sind. |
| | |
| | #5 (permalink) |
| Neuer User Registriert seit: Oct 2011
Beiträge: 77
| Code: ich kann aus nem Huhn keinen Fisch machen, aber, wenn jemand sagt ich bring ein Tier zum essen mit, und ich weiss dass es ein Huhn ist, kann ich es auch wie ein Huhn behandeln (lecker hähnchenswchenkel in einer Paprika-Marinade, dazu Bratkartoffeln und etwas Gemüse, und es wird ein richtig leckeres Essen, aber ich bin etwas abgeschweift ) Geändert von pixelsadist (26-10-2011 um 20:05 Uhr) |
| | |
![]() |
| Lesezeichen |
| Themen-Optionen | |
| Ansicht | |
| |
Ähnliche Themen | ||||
| Thema | Autor | Forum | Antworten | Letzter Beitrag |
| IE6 lade probleme bei bilder | Tazmania | Alternative Technologien | 1 | 04-12-2007 21:50 |
| lade 2 jpg in 2 mc | vodan | Flash MX 2004 | 1 | 19-10-2005 18:02 |
| bilder lade problem bei mxmagazin cms | silentblue | Flash MX | 0 | 11-03-2005 15:09 |
| Wie lade ich Bilder mit Transparenz dynamisch | Bigpet | Flash MX | 2 | 22-08-2003 11:19 |
| Lade Problem mit Bilder ! | Doctoradar | Flash 4 und Flash 5 | 6 | 08-04-2002 23:01 |