| |||||||
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: Jan 2012
Beiträge: 13
| Bild laden und Breite abfragen
Hallo Leute, ich will in meiner fla-Datei ein Bild in einen MC laden und positionieren. Über die x und y Eigenschaft ist das auch kein Problem. Da mein Movieclip später allerdings maskiert wird, sehe ich nur einen Ausschnitt von dem geladenen Bild. Ich möchte das geladene Bild in dem Ausschnitt zentrieren. Dazu muss ich jedoch vor Platzierung des Bildes abfragen, welche Breite und Höhe es in Pixeln hat. Mein Code bisher: Code: // MCs anlegen, Bilder einladen und auf Bühne platzieren
var ldr1:Loader = new Loader();
var bild1:MovieClip = new MovieClip();
ldr1.load(new URLRequest("pic1.jpg"));
bild1.x = (200 - ldr1.width) / 2; // linker Abstand
bild1.y = (150 - ldr1.height) / 2; // oberer Abstand
bild1.addChild(ldr1);
this.addChild(bild1); Ich habe auch andere Varianten probiert; entweder erhalte ich auch 0 oder Fehlermeldungen (nicht weit genug geladen oder Eigenschaft nicht verfügbar): ldr1.content.width ldr1.contentLoaderInfo.width ldr1.LoaderInfo.width ldr1.content.loaderInfo.width Wie kann ich Breite und Höhe von externen Bitmaps abfragen?? Jemand ne Idee? |
| | |
| | #2 (permalink) |
| Flash-Designer Registriert seit: May 2006 Ort: Wiesbaden
Beiträge: 6.162
| Hallo und willkommen im Forum! Dein Problem ist, dass Flash die Breite erst kennen kann, wenn das Bild Tatsächlich geladen wurde. Und das geschieht eben nicht in »no-time« ![]() Du musst daher auf das zugehörige COMPLETE-Event warten: ActionScript:
__________________ Viele Grüße // Martin Martin Kraft // Interaktionsdesign Hilfreiche Websites: // Hilfe zur Adobe Flash Plattform // ActionScript 2 Referenz // ActionScript 3 Referenz // ActionScript 3 Arbeitshandbuch // weitere Flash Ressourcen Bitte keine Flashfragen per PM oder Profilnachricht! Dafür ist das Forum da! Geändert von Martin Kraft (20-01-2012 um 09:53 Uhr) |
| | |
| | #3 (permalink) |
| Neuer User Registriert seit: Jan 2012
Beiträge: 13
|
Hallo Martin, danke für deine Antwort. Das habe ich schon geahnt, dass ich über den Event.COMPLETE gehen muss. Hätte allerdings gedacht, dass sich das trotzdem irgendwie abfragen lässt, da ich ja auch die Anzahl der geladenen Bytes und der totalen Bytes abfragen kann. Aber gut: bekomm ich hin. Zu deinem anderen Hinweis: Was du nicht wissen konntest ist, dass das Bild etwas später im AS-Code per Tween bewegt werden soll. Für mein bisheriges Verständnis brauche ich doch für einen Tween immer einen MovieClip, oder? Kann ich einen Sprite auch dynamisch tweenen? Wenn ich das Bild mit addChild auf die Bühne platziere, kann ich es hinterher nicht mehr ansprechen, um es zu tweenen, richtig? |
| | |
| | #4 (permalink) |
| Flash-Designer Registriert seit: May 2006 Ort: Wiesbaden
Beiträge: 6.162
|
Das, was Du da beschreibst, kannst Du auch alles direkt mit dem Loader selbst machen. Der ist ein vollwertiges AnzeigeObjekt. Solange Du also ein Referenz (Variable) auf ihn hast... Und per AS tweenen kann man sowieso jedes beliebige Objekt. Der einzige Unterschied zwischen Sprites und MovieClips ist übrigens, dass letztere eine Zeitleiste mit mehreren Frames und die entsprechenden Steuerbefehle besitzen. Ansonsten sind die beiden Klassen identisch.
__________________ Viele Grüße // Martin Martin Kraft // Interaktionsdesign Hilfreiche Websites: // Hilfe zur Adobe Flash Plattform // ActionScript 2 Referenz // ActionScript 3 Referenz // ActionScript 3 Arbeitshandbuch // weitere Flash Ressourcen Bitte keine Flashfragen per PM oder Profilnachricht! Dafür ist das Forum da! |
| | |
| | #5 (permalink) |
| Neuer User Registriert seit: Jan 2012
Beiträge: 13
|
Hallo Martin, so kurz vorm Ziel und schon wieder Probleme! Ich habe den Code umgeschrieben. Allerdings geht es um mehrere Bilder, die die gleiche Funktion verwenden sollen, wenn sie jeweils geladen wurden. Ich schaffe es aber nicht, die Quelle abzufragen. Code: var bild1:Loader = new Loader();
bild1.load(new URLRequest("pic1.jpg"));
bild1.contentLoaderInfo.addEventListener(Event.COMPLETE, fertig);
container.addChild(bild1);
var bild2:Loader = new Loader();
bild2.load(new URLRequest("pic02.jpg"));
bild2.contentLoaderInfo.addEventListener(Event.COMPLETE, fertig);
container.addChild(bild2);
function fertig(event:Event):void {
trace(event.target);
if (event.target.name == "bild1") {
trace(bild1.width + " / " + bild1.height);
} else if (event.target.name == "bild2") {
trace(bild2.width + " / " + bild2.height);
}
} Code: [object LoaderInfo] ReferenceError: Error #1069: Eigenschaft name für flash.display.LoaderInfo nicht gefunden und es ist kein Standardwert vorhanden. at ausschnitt_fla::MainTimeline/fertig() [object LoaderInfo] ReferenceError: Error #1069: Eigenschaft name für flash.display.LoaderInfo nicht gefunden und es ist kein Standardwert vorhanden. at ausschnitt_fla::MainTimeline/fertig() |
| | |
| | #6 (permalink) |
| Flash-Designer Registriert seit: May 2006 Ort: Wiesbaden
Beiträge: 6.162
| Das hat gleich mehrere Gründe:
ActionScript:
ActionScript:
__________________ Viele Grüße // Martin Martin Kraft // Interaktionsdesign Hilfreiche Websites: // Hilfe zur Adobe Flash Plattform // ActionScript 2 Referenz // ActionScript 3 Referenz // ActionScript 3 Arbeitshandbuch // weitere Flash Ressourcen Bitte keine Flashfragen per PM oder Profilnachricht! Dafür ist das Forum da! |
| | |
![]() |
| Lesezeichen |
| Themen-Optionen | |
| Ansicht | |
| |
Ähnliche Themen | ||||
| Thema | Autor | Forum | Antworten | Letzter Beitrag |
| [Flash 8] bild laden und auf mc breite&höehe anpassend scallieren? | palpalo | Flash Einsteiger | 6 | 26-05-2011 10:10 |
| JPG-Breite abfragen | Stoschka | Flash MX 2004 | 6 | 30-03-2008 13:45 |
| MovieClip nach dem Laden eines Bildes in der Breite kleiner als das Bild | FLASHStyler | ActionScript 1 | 4 | 02-02-2007 07:07 |
| Abfragen der Breite....? | PistolMichi | ActionScript 1 | 3 | 22-03-2005 15:45 |
| actionscript: breite abfragen | Beach | Flash 4 und Flash 5 | 4 | 10-04-2002 17:52 |