Zurück   Flashforum > Flash > ActionScript > ActionScript 2

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 01-07-2011, 12:18   #1 (permalink)
Neuer User
 
Registriert seit: Jul 2011
Beiträge: 6
Problem mit UnloadMovie

Hallo zusammen,

ich habe mich mal hier angemeldet da ich etwas Hilfe bei meiner Flashseite benötige. Vielleicht kann mir hier jemand weiterhelfen.

Ich arbeite derzeit an einer Flash Seite in AS2.
Die Seite steht auch schon.

Nun habe ich aber folgendes Problem ich lade auf den einzelnen Sektionen (home, über uns,...) ein swf mit einer Slideshow über den Befehl:

onClipEvent (load) {
loadMovieNum("slide_ueber.swf", 4);
}

Beim Wechsel in eine andere Sektion wird über den Befehl:

home_Btn.onRelease = function() {
sections.gotoAndStop("home");
sections.home.gotoAndPLay(2);
unloadMovieNum(1);
unloadMovieNum(2);
unloadMovieNum(3);
unloadMovieNum(4);
};

das swf wieder gelöscht.

Soweit so gut es funktioniert auch alles wie geplant. Wenn ich aber nun auf der Seite navigiere und eine Sektion ein 2. mal aufrufe wird die Slideshow zwar wieder abgespielt aber in doppelter Geschwindigkeit, als ob sie mehrfach geladen wird.
Leider weiß ich nun echt nicht mehr weiter wie ich das verhindern kann.
Gibt es die Möglichkeit den Cache für geladenen swf zu leeren bei jedem Wechsel? Bzw könnte es auch ein anderes Problem sein?

zu sehen ist die Seite unter: Unbenanntes Dokument

Vielen Dank im Vorraus schon mal für eure Hilfe.
jkoehninger ist offline   Mit Zitat antworten
Alt 01-07-2011, 12:58   #2 (permalink)
brand new user
 
Benutzerbild von RustyCake
 
Registriert seit: May 2002
Ort: Laimbach 6 1/2
Beiträge: 16.884
Servus

Nutzt diese Slideshow "setInterval"?
__________________
Bitte keine Fragen, zu Flash per PM. Dazu ist das Forum da. Danke MFG_RustyCake!
"Wer tanzen will, muß erst gehen lernen"
RustyCake ist offline   Mit Zitat antworten
Alt 01-07-2011, 13:04   #3 (permalink)
Neuer User
 
Registriert seit: Jul 2011
Beiträge: 6
Hallo

ja die Slide nutzt setInterval.
Hier mal der Auszug:

if (_root.myClips_array.length == _root.myImagesNo) {

moveSlide();
myShowInt = setInterval(moveSlide, (_root.mySpeed*1000)+1000);
}

im xml über das die Bilder geladen werden siehts dann wie folgt aus:

<?xml version='1.0' encoding='UTF-8'?>
<slideshow width="380" height="190" speed="5">
<image url="bilder/offset/offset_1.jpg" title="1" />
<image url="bilder/offset/offset_2.jpg" title="2" />
<image url="bilder/offset/offset_3.jpg" title="3" />
<image url="bilder/offset/offset_4.jpg" title="4" />
</slideshow>
jkoehninger ist offline   Mit Zitat antworten
Alt 01-07-2011, 13:04   #4 (permalink)
Flash-Designer
 
Benutzerbild von Martin Kraft
 
Registriert seit: May 2006
Ort: Wiesbaden
Beiträge: 6.162
Zitat:
Zitat von jkoehninger Beitrag anzeigen
Nun habe ich aber folgendes Problem ich lade auf den einzelnen Sektionen (home, über uns,...) ein swf mit einer Slideshow über den Befehl:

onClipEvent (load) {
loadMovieNum("slide_ueber.swf", 4);
}

Beim Wechsel in eine andere Sektion wird über den Befehl:

home_Btn.onRelease = function() {
sections.gotoAndStop("home");
sections.home.gotoAndPLay(2);
unloadMovieNum(1);
unloadMovieNum(2);
unloadMovieNum(3);
unloadMovieNum(4);
};

das swf wieder gelöscht.
Das Laden externer Datein in Level ist ziemlich veraltet. Funktionen mit "...Num" im Namen sollte man heute eigentlich nicht mehr einsetzen. Besser wäre es einen leeren MovieClip als Container zu erstellen und die .swf (am Besten mit der MovieClipLoader-Klasse) dahinein zu laden.

Zitat:
Zitat von jkoehninger Beitrag anzeigen
Wenn ich aber nun auf der Seite navigiere und eine Sektion ein 2. mal aufrufe wird die Slideshow zwar wieder abgespielt aber in doppelter Geschwindigkeit, als ob sie mehrfach geladen wird.
Das hat IMHO nichts mit dem Cache zu tun, sondern liegt wahrscheinlich daran, dass in der Slideshow eine onEnterFrame auf die _root gelegt wird oder eine Interval mit _global- oder _root-Referenzen läuft. Diese bleiben auch dann bestehen, wenn die .swf wieder entladen wurde.

Das ist einer der Gründe, weshalb man wenn irgend möglich niemals _root und _global verwenden sollte! Entsprechend solltest Du also auch Deine Slideshow anpassen...
__________________
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 (01-07-2011 um 13:07 Uhr)
Martin Kraft ist offline   Mit Zitat antworten
Alt 01-07-2011, 13:46   #5 (permalink)
Neuer User
 
Registriert seit: Jul 2011
Beiträge: 6
Zuerst einmal vielen vielen Dank für die schnellen Antworten.
Hätte ich mich nur mal früher hier angemeldet

Ich bin noch ein ziemlicher Flashneuling und arbeite mich gerade erst in die Materie ein. Das ist mein erstes Projekt mit Flash und kommt daher natürlich nicht ohne Fehler aus

Ich werde mich mal in die Moviecliploader Sachen einlesen.
Wollte trotzdem mal fragen ob es in meinen Fall vielleicht nicht ne Übergangslösung gibt die ich provisorisch einbauen könnte?
(Ich weiß natürlich dass das wenig Sinn macht und ich von Grund auf das richtig aufziehen sollte... ) Dann könnte ich die Seite schonmal online stellen.

Vielen Dank nochmal!
jkoehninger ist offline   Mit Zitat antworten
Alt 01-07-2011, 14:24   #6 (permalink)
Flash-Designer
 
Benutzerbild von Martin Kraft
 
Registriert seit: May 2006
Ort: Wiesbaden
Beiträge: 6.162
Das Problem wird, wie gesagt, durch die ganzen (unnötigen) _root-Referenzen in der Slideshow verursacht.

Lösch' einfach überall das "_root." und schau mal, ob's dann noch funktioniert.
Und mach in Zukunft einen Bogen um Scripte, die exzessiv mit _root und _global arbeiten
__________________
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 (01-07-2011 um 14:44 Uhr)
Martin Kraft ist offline   Mit Zitat antworten
Alt 01-07-2011, 16:53   #7 (permalink)
Neuer User
 
Registriert seit: Jul 2011
Beiträge: 6
So funktioniert jetzt

hab aus den slideshows die _root. entfernt, hat aber nichts gebracht.
Dann hab ich die Slides mal über folgenden Befehl eingeladen:

onClipEvent (load) {
var container:MovieClip = createEmptyMovieClip("container", getNextHighestDepth());
var mcLoader:MovieClipLoader = new MovieClipLoader();
mcLoader.addListener(this);
mcLoader.loadClip("slide_ueber.swf", container);

function onLoadInit(mc:MovieClip) {
trace("Datei wurde vollständig geladen. MovieClip: " + mc);
}
}

Das hat funktioniert. Muss auch die Swf nicht mehr unloaden?!
Ist bestimmt nicht die schönste bzw richtige Variante. Für den Anfang tuts das aber mal.

Und jetzt hab ich wieder schön viel zum Nachlesen und Lernen.
Vielen Dank nochmal für die Hilfe
jkoehninger 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
unloadMovie Problem lixx ActionScript 2 5 16-10-2007 21:24
unloadMovie Problem...das Xte speedhugo Flash Einsteiger 1 10-05-2007 11:01
Problem mit unloadMovie heidikra Flash 8 0 22-11-2005 11:34
unloadMovie problem... sebastian2 Flash MX 2 10-01-2003 23:46
unloadmovie problem leines ActionScript 1 1 17-10-2001 13:41


Alle Zeitangaben in WEZ +1. Es ist jetzt 12:33 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele