Willkommen auf dem Portal für Mediengestalter
|
|
Autor |
Nachricht |
tuxedo
Dabei seit: 10.10.2002
Ort: ~/
Alter: 51
Geschlecht: -
|
Verfasst Fr 11.06.2004 10:27
Titel
|
|
|
naja, also _alpha bremst schon, zugegeben...aber so richtig heftig
wirds eigentlich nur bei der alphaverschiebung mehrerer objekte
parallel (oder dem tweening/alpha mit pngs mit transparenz).
den ein oder anderen mc / button mal einfaden macht den braten
echt nicht fett....
ok, ip, schau dir das mal an....
spiel mal ein wenig rum. das ist die geschichte, die ich mal auf die schnelle
zusammengehackt hatte vor einigen wochen. funzte eigentlich soweit
ganz gut, habs allerdings verworfen mich weiter damit zu beschäftigen....
ist als objekt-prototype angelegt, d.h. du kannst von überall aus mcs
und buttons selbst ansteuern oder durch events referenzieren....
der code ist net der sauberste, und mit sicherheit überarbeitungswürdig
(so der kritische blick unseres codergurus hier), aber es erfüllt seinen zweck....
ach ja:
du kannst als parameter übergeben:
fadein oder fadeout, zeit wie lange fade dauern soll, was der endalpha sein soll,
zeit wann fade anfangen soll und ob das objekt danach den status visible behält
(ganz praktisch für unsichtbare buttons dachte ich mir so)...
|
|
|
|
|
black.IP
Threadersteller
Dabei seit: 23.04.2003
Ort: Hamburg
Alter: 51
Geschlecht:
|
Verfasst Fr 11.06.2004 10:33
Titel
|
|
|
sieht doch gut aus, aber wo finde ich den code
|
|
|
|
|
Anzeige
|
|
|
tuxedo
Dabei seit: 10.10.2002
Ort: ~/
Alter: 51
Geschlecht: -
|
Verfasst Fr 11.06.2004 10:42
Titel
|
|
|
Code: |
Object.prototype.fadeObject = function (direction,finalAlpha,seconds,delay,active) {
/*
**************************************************************************************************
aufruf: object. fadeObject (-1- ,-2-,-3-,-4-,-5-);
zu übergebene parameter:
**************************************************************************************************
-1- = fade in ("in") oder fade out ("out")
-2- = gewünschter alphawert (0-100)
-3- = fadezeit in sekunden (0 fadet sofort)
-4- = bestimmt wann fade einsetzen soll (0 startet direkt)
-5- = boolean, setzt ein objekt auf visible (true) oder invisible (false) nach fade-ende...
**************************************************************************************************
*/
// alte timer löschen
clearInterval (delayer);
clearInterval (timer);
// überprüft alphawerte (makulatur, aber manchmal ganz hilfrreich)
if (finalAlpha > 100){
trace ("alert: alpha is over max-value, set to 100");
finalAlpha = 100;
} else if (finalAlpha < 0) {
trace ("alert: alpha is under min-value, set to 0");
finalAlpha = 0;
}
// referenziert das objekt
var targetObject = this;
// wenn das objekt unsichtbar ist, wird es wieder sichtbar gemacht
if (!targetObject._visible){
targetObject._visible = true;
}
// berechnet die distanz zwischen aktuellem und gewünschtem
// alphawert
if (direction == "in"){
var difference = this._alpha - finalAlpha;
} else if (direction == "out"){
var difference = finalAlpha - this._alpha;
}
var sekunden = seconds *= 100; // berechnet die fade-dauer
var activate = active; // übernimmt aktivierungsflag
var value = difference/sekunden; // berechnet fadewert
var alpha = this._alpha; // checkt aktuellen alphawert
var counter = 0;
// verzögerung wird berechnet und ausgeführt
var waitTime = delay *= 1000;
var delayTimer = function () {
clearInterval(delayer);
fadeIt();
};
var delayer = setInterval(delayTimer, waitTime);
// die eigentliche fader-funktion
var fadeIt = function () {
var startZeit = getTimer(); // checkt gewünschte fading-zeit
var objectFader = function () {
counter++;
if (direction == "in"){ // fade in...
alpha -= value;
} else if (direction =="out"){ // oder fade out...
alpha += value;
}
targetObject._alpha = alpha // berechneten alphawert anwenden
// wenn die zeit abgelaufen ist, wird die
// funktion beendet
if (counter == sekunden) {
clearInterval(timer); // löschen des alten timers
var EndTime = getTimer();
var Time = EndTime-startZeit;
if (!activate && targetObject._alpha == 0){
targetObject._visible = activate;
}
finishedFade = true;
return finishedFade;
}
};
var timer = setInterval(objectFader, 10);
};
};
|
hab dir den eben mal was kommentiert....
|
|
|
|
|
black.IP
Threadersteller
Dabei seit: 23.04.2003
Ort: Hamburg
Alter: 51
Geschlecht:
|
Verfasst Fr 11.06.2004 10:57
Titel
|
|
|
schönen dank - werd' mich mal durchkämpfen ...
|
|
|
|
|
|
|
|
Ähnliche Themen |
Div mit Flashfilm vor anderen Flashfilm. Wie geht das?
Website einfaden
Wie Banner bei Mouse Over einfaden lassen
Movieclip laden, duplizieren und nacheinander einfaden?
Problem beim einfaden mehrerer MovieClips
Online-Chat Funktion - mit On und Offline Funktion
|
|
|
Du kannst keine Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum nicht antworten. Du kannst an Umfragen in diesem Forum nicht mitmachen.
|
|