Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 10-01-2008, 13:34   #1 (permalink)
Neuer User
 
Registriert seit: Oct 2006
Beiträge: 66
Überblendung per AS

Ein frohes Neues Jahr an alle Mitglieder, auch wenn heute schon der zehnte ist.

Ich bin kein Mathematiker, aber ich habe mit »Bordmitteln« eine Überblendungsgalerie geschrieben, die sogar funktioniert.

Es lässt sich per »loadMovie« eine Reihe von Bildern übereinanderblenden, die sich in einem Ordner befinden. So wird die fla nicht riesengroß, und im Ordner mit den Bildern ist schnell ein Foto ergänzt.

Grundsätzlich ist die Idee, auf Ebene 1 Bilder nacheinander aufzurufen, ohne sie zu überblenden. Auf Ebene 2 liegt ebenfalls ein Bild, das in der doppelten Zeit auf- und wieder zublendet. Wenn das Bild auf Ebene 2 zu 100% da ist, springt auf Ebene 1 das nächste Bild rein. So muss ich nur eine Überblendung berechnen.

Ich habe großzügig Erläuterungen eingefügt, so dass man auch verstehen kann, was ich da getrieben habe.

Wahrscheinlich lässt sich das eleganter schreiben, für Anregungen bin ich sehr dankbar, würde gerne mehr kapieren in AS.

Hier mal das AS:

Die Fotos heißen bei mir 1.jpg, 2.jpg usw.

1. Auf einem Bild in der Hauptzeitleiste:

Code:
_global.F=1

M=7500//um die Geschwindigkeit des Ausblendens einfacher zu variieren, habe ich hier
//die Verzögerung als Variable definiert. Die Zahl ist von der Ausblendegeschwindigkeit
//im »Inhalt«-MC und der bps-Einstellung abhängig. In diesem Fall 225 Bilder zum Ein- und Ausblenden
//geteilt durch 30 bps.

createEmptyMovieClip("A", 0);
 loadMovie(_global.F+".jpg", A);//nur ein Bild auf die allerunterste Ebene,
 //damit am Anfang schon ´was zu sehen ist

createEmptyMovieClip("H", 1);//ein MC auf der HZL

setInterval(function(eins){//das erste Intervall setzt im Abstand von 6.6 sek. den MC immer wieder
					 //neu auf die HZL. 7,5 sek=225Bilder beim Ausblenden / 30bps
					 //225 Bilder: im MC »Inhalt« wird das Bild per onEnterFrame aus- und eingeblendet
					 //das geht über 100 Bilder aus und 125 Bilder ein
					 //mit »Math.abs()« lassen sich die Zahlen absolut setzen und dadurch vor- und rückwärts drehen
					 
					 _global.F++;

					attachMovie("Inhalt", "Inh", 2);
					
					if(_global.F==17){
						_global.F=1;
}
}, M);

verzögerung=(M/2000)//lässt das zweite Intervall zeitversetzt loslegen, wird durch die Hälfte geteilt, Kommastellen beachten!
startzeit=getTimer()/1000;
onEnterFrame=function(){
	aktuelleZeit=getTimer()/1000;
	if(aktuelleZeit-startzeit>=verzögerung){

		setInterval(function(zwei){//Intervall 2 lädt einfach ein Bild auf die unterste Ebene, und 
							 //zwar um die Hälfte zeitversetzt zum ersten Intervall
					 
					 loadMovie(_global.F+1+".jpg", H);
					
					unloadMovie(A);//entlädt den ersten MC, unnötiger Ballast

}, M);
		
		delete onEnterFrame;
	}
	
}
Auf einem leeren Symbol mit dem Namen »Inhalt« liegt auf Frame 1 folgendes AS: (Nicht vergessen: Für das Symbol unter »Verknüpfung« »Export für ActionScript« auswählen!!)

Code:
createEmptyMovieClip("H", 3)
//trace(_global.F);
loadMovie(_global.F+1+".jpg", "H");
s=1
onEnterFrame = function(){
	s++
	if(s>=125){//125 bringt 25 Bilder mit alpha100%, damit der Sprung beim Nachladen
	//der untersten Ebene auf der HZL gedämpft wird
		s=-100;

	}
			//trace(s);
	this.H._alpha=Math.abs(s);//hier wird nur mit der Funktion Hochzählen (++) 
	//und Math.abs() vorwärts und rückwärts gezählt
}
Ich hoffe, das hilft.

Viele Grüße, Stephan
incredibrother 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 07:43 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele