| |||||||
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: 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;
}
} 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
} Viele Grüße, Stephan |
| | |
![]() |
| Lesezeichen |
| Themen-Optionen | |
| Ansicht | |
| |