mediengestalter.info
FAQ :: Mitgliederliste :: MGi Team

Willkommen auf dem Portal für Mediengestalter

Aktuelles Datum und Uhrzeit: Fr 29.03.2024 01:03 Benutzername: Passwort: Auto-Login

Thema: einen flashfilm über eine funktion einfaden lassen ... vom 09.06.2004


Neues Thema eröffnen   Neue Antwort erstellen MGi Foren-Übersicht -> Multimedia -> einen flashfilm über eine funktion einfaden lassen ...
Seite: Zurück  1, 2
Autor Nachricht
tuxedo

Dabei seit: 10.10.2002
Ort: ~/
Alter: 51
Geschlecht: -
Verfasst Fr 11.06.2004 10:27
Titel

Antworten mit Zitat Zum Seitenanfang

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....
*zwinker*


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)...
  View user's profile Private Nachricht senden
black.IP
Threadersteller

Dabei seit: 23.04.2003
Ort: Hamburg
Alter: 51
Geschlecht: Männlich
Verfasst Fr 11.06.2004 10:33
Titel

Antworten mit Zitat Zum Seitenanfang

sieht doch gut aus, aber wo finde ich den code Au weia!
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
Anzeige
Anzeige
tuxedo

Dabei seit: 10.10.2002
Ort: ~/
Alter: 51
Geschlecht: -
Verfasst Fr 11.06.2004 10:42
Titel

Antworten mit Zitat Zum Seitenanfang

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....
  View user's profile Private Nachricht senden
black.IP
Threadersteller

Dabei seit: 23.04.2003
Ort: Hamburg
Alter: 51
Geschlecht: Männlich
Verfasst Fr 11.06.2004 10:57
Titel

Antworten mit Zitat Zum Seitenanfang

schönen dank - werd' mich mal durchkämpfen ... *hehe*
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
 
Ä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
Neues Thema eröffnen   Neue Antwort erstellen Seite: Zurück  1, 2
MGi Foren-Übersicht -> Multimedia


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.