Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 12-11-2008, 17:03   #1 (permalink)
Neuer User
 
Registriert seit: Sep 2005
Beiträge: 212
unloadMovie

Hallo, wie im folgenden Script ersichtlich, lade ich verschiedene externe Bilder im Wechsel mit weicher Überblendung.
Mein Problem war, daß das vorletzte geladene Bild beim Szenenwechsel nicht entladen wurde. Dies habe ich mit "mc.unloadMovie();" gelöst. Damit ging mir allerdings beim entladen die weiche Überblendung verloren.
Wie stelle ich es an das vorletzte Bild zu entladen, ohne Verlust der weichen Überblendung???

Schöne Grüße

Code:
stop();
//
var tl = this;
tl.createEmptyMovieClip("watcher", 0);
tl.createEmptyMovieClip("loader1", 1);
tl.createEmptyMovieClip("loader2", 2);
tl.loader1._x = tl.loader2._x = 253 //Bildkoordinate X
tl.loader1._y = tl.loader2._y = 13 //Bildkoordinate Y
function nextPic(i) {
    b1_MC.enabled = b2_MC.enabled=b3_MC.enabled=b4_MC.enabled=b5_MC.enabled=b6_MC.enabled=b7_MC.enabled=false;
    if (mc != tl.loader1) {
        mc = tl.loader1;
    } else {
        mc = tl.loader2;
    }
    mc._alpha = 0;
    mc.swapDepths(2);
    mc.loadMovie("images1/image"+i+".jpg");
    tl.watcher.onEnterFrame = function() {
        if (mc.getBytesLoaded()>=mc.getBytesTotal() && mc.getBytesLoaded()>4) {
            if (mc._alpha<100) {
                mc._alpha += 6;
            } else {
                delete this.onEnterFrame;
                b1_MC.enabled = b2_MC.enabled=b3_MC.enabled=b4_MC.enabled=b5_MC.enabled=b6_MC.enabled=b7_MC.enabled=true;
            }
        }
    };
}
// 
nextPic(1);
//
b1_MC.onRelease = function() {
	mc.unloadMovie();
	nextPic(1);
};
b2_MC.onRelease = function() {
	mc.unloadMovie();
	nextPic(2);
};
b3_MC.onRelease = function() {
    mc.unloadMovie();
	nextPic(3);
};
b4_MC.onRelease = function() {
    mc.unloadMovie();
	nextPic(4);
};
b5_MC.onRelease = function() {
    mc.unloadMovie();
	nextPic(5);
};
hrsflash ist offline   Mit Zitat antworten
Alt 12-11-2008, 23:07   #2 (permalink)
Techniker
 
Benutzerbild von hgseib
 
Registriert seit: Sep 2003
Ort: 64807
Beiträge: 16.324
Szenen am besten überhaupt nicht benützen.

wenn du szenen oder frames wechselst, dann sind logischer weisse die objekte der vorherigen szene bzw. des vorherigen frame weg.


wenn man programmiert, dann kommt man ganz gut mit nur einem einzigen frame aus. in dem kann man alles ein- und aussoften.


als notlösung vielleicht:
am neuen ort (szene) muss sich das selbe objekt (dein bild) auch befinden. dann kannst du es hier auch aussoften.

bzw. zuerst ausblenden und dann erst die szene wechseln.
__________________
die ultimative antwort auf alle programmierfragen: der debugger
mfg h.g.seib www.SeibsProgrammLaden.de

Geändert von hgseib (12-11-2008 um 23:11 Uhr)
hgseib ist offline   Mit Zitat antworten
Alt 13-11-2008, 05:29   #3 (permalink)
Neuer User
 
Registriert seit: Sep 2005
Beiträge: 212
Zitat:
Zitat von hgseib Beitrag anzeigen
Szenen am besten überhaupt nicht benützen.
Danke für deine antwort. nimms mir nicht übel, aber deine antworten haben mit meiner frage garnichts zu tun.
Es handelt sich hier um eine diashow. Es geht um das vorletzte extern geladene bild, das ohne anloadMovie immer stehen bleibt und die weiche überblendung soll erhalten bleiben.

Schöne grüße
hrsflash ist offline   Mit Zitat antworten
Alt 16-11-2008, 16:37   #4 (permalink)
brand new user
 
Benutzerbild von RustyCake
 
Registriert seit: May 2002
Ort: Laimbach 6 1/2
Beiträge: 16.884
Bsp.
Code:
//zum testen einen ordner "pict" anlegen, bilder "pict1-pict5" benennen!!
var tl = this;
var fadespeed = 5;
var bildanzahl = 25;
_global.old_conti;
_global.ct = 1;
function reload_x() {
	clearInterval(SID);
	tl.createEmptyMovieClip("container"+ct, ct+10);
	tl["container"+ct].loadMovie("bilder/bild"+ct+".jpg");
	tl["container"+ct]._alpha = 0;
	this.loader_funk = function() {
		if (tl["container"+ct].getBytesLoaded()>=4) {
			gesamt = tl["container"+ct].getBytesTotal();
			bereits = tl["container"+ct].getBytesLoaded();
			prozent = Math.ceil((bereits/gesamt)*100);
			if (prozent>=100) {
				tl["container"+ct]._alpha += fadespeed;
				old_conti._alpha -= fadespeed;
				if (tl["container"+ct]._alpha>=100 && old_conti._alpha<=0) {
					old_conti.unloadMovie();
					_global.old_conti = tl["container"+ct];
					clearInterval(loadID);
					_global.ct++;
					SID = setInterval(reload_x, 3000);
				}
				if (ct == (bildanzahl+1)) {
					_global.ct = 1;
				}
			}
		}
	};
	loadID = setInterval(loader_funk, 40);
}
reload_x();
Kann man auch mit Buttons aufrufen
__________________
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 16-11-2008, 17:28   #5 (permalink)
Neuer User
 
Registriert seit: Sep 2005
Beiträge: 212
Zitat:
Zitat von RustyCake Beitrag anzeigen
Kann man auch mit Buttons aufrufen
He, Rusty funzt mit Buttons super.
Krieg das bild (tl) nicht vom nullpunkt weg. Klappt einfach nicht.
hrsflash ist offline   Mit Zitat antworten
Alt 16-11-2008, 17:33   #6 (permalink)
Neuer User
 
Registriert seit: Sep 2005
Beiträge: 212
Zitat:
Zitat von hrsflash Beitrag anzeigen
Krieg das bild (tl) nicht vom nullpunkt weg. Klappt einfach nicht.
STOP, habs doch gefunden DANKE
hrsflash 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



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

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


Copyright ©1999 – 2012 Marc Thiele