Zurück   Flashforum > Flash > Flash Fortgeschritten > Flash MX

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 09-02-2010, 15:26   #1 (permalink)
Neuer User
 
Registriert seit: Feb 2010
Beiträge: 14
loadMovie - listener Problem

Hi Leute,

ich bin am verzweifeln... habe folgendes Problem:
Im Internet habe ich ein Script gefunden für eine Diashow. Dort werden Bilder aus einem Ordner per loadMovie geladen und dann nacheinander eingeblendet (per Alpha). Das Problem ist allerdings, dass diese Bilder immer links oben ausgerichtet sind und ich sie gerne zentrieren möchte.
Direkt zentrieren kann ich sie nicht, denn das Bild muss erst fertig geladen sein, damit ich die _height und die _width auslesen kann. Deshalb habe ich einen Listener in das Script eingebaut, der true sein müsste, wenn das letzte Bild fertig geladen ist. Das Problem: Er wird nie true..

Zitat:
Path = "/"

Pictures = new Array()
Pictures[0] = "MT1.jpg";
Pictures[1] = "MT2.jpg";
Pictures[2] = "MT3.jpg";
Pictures[3] = "MT4.jpg";
Pictures[4] = "MT5.jpg";
Pictures[5] = "MT6.jpg";
Pictures[6] = "MT7.jpg";
Pictures[7] = "MT8.jpg";
Pictures[8] = "MT9.jpg";
Pictures[9] = "MT10.jpg";
Pictures[10] = "MT11.jpg";
Pictures[11] = "MT12.jpg";
Pictures[12] = "MT13.jpg";
Pictures[13] = "MT14.jpg";
Pictures[14] = "MT15.jpg";
Pictures[15] = "MT16.jpg";
Pictures[16] = "MT17.jpg";
Pictures[17] = "MT18.jpg";
Pictures[18] = "MT19.jpg";
Pictures[19] = "MT20.jpg";
Pictures[20] = "MT21.jpg";
Pictures[21] = "MT22.jpg";

mc_listener = new Object(); //Neues Listener Objekt erstellen

mc_listener.onLoadInit = function()
{
trace("INIT");
//Hier kommt dann die Berechnung der Position rein.. das Script hüpft hier leider nie rein << Problem^^
}


for(p = 0; p < Pictures.length; p++)
{
_root.createEmptyMovieClip("Pic" + p, 666 + p);
_root["Pic" + p]._alpha = 0;
_root["Pic" + p].loadMovie(Path + Pictures[p]);
}

// Hinzufügen des Listeners
_root["Pic" + (Pictures.length - 1)].addListener(mc_listener);


//############################################
// Der untere Teil ist eher unwichtig zur Problemlösung ..
// Dort findet nämlich nur der Bilderwechsel statt
//############################################

Active = 0

function switching(){
Active ++
if(Active == Pictures.length){
Active = 0
}

ActivePic = _root["Pic" + Active]
fadePic()
}


function fadePic(){
FadeOut = new mx.transitions.Tween(OldPic, "_alpha", mx.transitions.easing.Regular.easeInOut , 100, 0, 4, true);

FadeIn = new mx.transitions.Tween(ActivePic, "_alpha", mx.transitions.easing.Regular.easeInOut , 0, 100, 2, true);
FadeIn.onMotionFinished = function(){
OldPic = ActivePic
}
}

switching()
setInterval(switching, 4000)
Ich hoffe ihr könnt mir weiterhelfen..
Fanky ist offline   Mit Zitat antworten
Alt 09-02-2010, 15:53   #2 (permalink)
mod_rewrite
 
Benutzerbild von sonar
 
Registriert seit: Feb 2003
Ort: München
Beiträge: 15.621
Probier mal onLoadComplete statt onLoadInit.
Und/oder aktiviere beim Testen der SWF mal "Download simulieren" (oder wie das heißt). onLoadInit funktioniert nämlich beim Testen der SWF nicht richtig, wenn ich mich da recht erinnere…
__________________
RTFM
Wie man Fragen richtig stellt.

Achim Bindannmalweg

Money makes the world go round, fear makes it turn much faster.
(New Model Army)
sonar ist offline   Mit Zitat antworten
Alt 09-02-2010, 16:00   #3 (permalink)
Neuer User
 
Registriert seit: Feb 2010
Beiträge: 14
Danke für den Tipp, aber zwischen onLoadComplete und onLoadInit kann ich keinerlei Unterschiede beim Debuggen bzw Testen feststellen.
Wenn ich auf Download simulieren gehe, funktioniert gar nichts mehr .. also da wird gar kein Bild mehr geladen (egal ob onLoadComplete oder onLoadInit)
Fanky ist offline   Mit Zitat antworten
Alt 09-02-2010, 16:42   #4 (permalink)
Euer Nuser
 
Benutzerbild von ~pyropete~
 
Registriert seit: Apr 2004
Ort: Sand-City
Beiträge: 3.483
loadMovie() hat keinen Rückgabenwert (wie z.B. loadClip() der MovieClipLoader-Klasse).
D.h. Dein Listener wartet ewig und immer auf irgendeinen event.
Außerdem ist Dein Bildcontainer kein Broadcaster sondern nur irgendein Objekt auf der Bühne
(Achtung Behauptung!)

Nimm die MovieClipLoader-Klasse dafür.

Wenn das nicht geht (wg. Version), dann musst Du mit einem onEnterFrame-Event den Ladestatus
Deines Bildcontainers prüfen - das ist dann ein typischer Oldskool-Preloader.
~pyropete~ ist offline   Mit Zitat antworten
Alt 09-02-2010, 17:00   #5 (permalink)
mod_rewrite
 
Benutzerbild von sonar
 
Registriert seit: Feb 2003
Ort: München
Beiträge: 15.621
Zitat:
Zitat von ~pyropete~ Beitrag anzeigen
Nimm die MovieClipLoader-Klasse dafür.
Ach das hatte er gar nicht
Ich bin jetzt einfach mal ohne genaueren Check davon ausgegangen…
__________________
RTFM
Wie man Fragen richtig stellt.

Achim Bindannmalweg

Money makes the world go round, fear makes it turn much faster.
(New Model Army)
sonar ist offline   Mit Zitat antworten
Alt 09-02-2010, 17:08   #6 (permalink)
Neuer User
 
Registriert seit: Feb 2010
Beiträge: 14
Danke für die ausführliche Antwort

Jetzt mache ich es mit dem onEnterFrame Event:

_root["Pic" + (Pictures.length - 1)].addEventListener(Event.ENTER_FRAME, onEnterFrame);

und darüber

function onEnterFrame()
{
trace("INIT");
}

.. Da ich in AS nicht so bewandert bin habe ich noch eine Frage: Wie kann ich den EventListener am Funktionsende stoppen?

EDIT:
Sehe gerade, dass das Bild erst beim 3. Funktionsaufruf fertig geladen ist .. hmm irgendwas mache ich da immer noch falsch ..

Geändert von Fanky (09-02-2010 um 17:19 Uhr)
Fanky ist offline   Mit Zitat antworten
Alt 09-02-2010, 17:45   #7 (permalink)
Euer Nuser
 
Benutzerbild von ~pyropete~
 
Registriert seit: Apr 2004
Ort: Sand-City
Beiträge: 3.483
Nene, das was Du da jetzt schreibst ist eine Chimäre aus AS2 und AS3. Das klappt
so leider überhaupt nicht.

Such Dir einen Preloader für AS2 hier im Forum.

Was anderes wird mit Deiner Flash Version (Flash MX) nicht funktionieren.
MovieClipLoader gibt es erst ab Flash 7.

Geändert von ~pyropete~ (09-02-2010 um 17:47 Uhr)
~pyropete~ ist offline   Mit Zitat antworten
Alt 09-02-2010, 23:35   #8 (permalink)
Neuer User
 
Registriert seit: Feb 2010
Beiträge: 14
Jo dann ist alles klar.
Ich bedanke mich für die Hilfe

Geändert von Fanky (10-02-2010 um 00:07 Uhr)
Fanky 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


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Listener Problem Kerni ActionScript 2 1 26-10-2009 15:32
listener Problem! pacman.hgw Flash Einsteiger 13 04-01-2008 10:15
Problem mit Key Listener im FF1.5 alexpetri ActionScript 2 1 03-12-2007 11:23
Listener Problem nihil Flash MX 2004 0 03-02-2006 23:01
Key Listener Problem Mac<->Win 409coffeemaker ActionScript 1 0 13-07-2004 16:54


Alle Zeitangaben in WEZ +1. Es ist jetzt 02:19 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele