mediengestalter.info
FAQ :: Mitgliederliste :: MGi Team

Willkommen auf dem Portal für Mediengestalter

Aktuelles Datum und Uhrzeit: Fr 19.04.2024 13:02 Benutzername: Passwort: Auto-Login

Thema: [actionscript] mouseover-animation mit onEnterFrame vom 11.03.2008


Neues Thema eröffnen   Neue Antwort erstellen MGi Foren-Übersicht -> Multimedia -> [actionscript] mouseover-animation mit onEnterFrame
Seite: 1, 2, 3  Weiter
Autor Nachricht
fuchsbau
Threadersteller

Dabei seit: 15.08.2005
Ort: .//root
Alter: 40
Geschlecht: Männlich
Verfasst Di 11.03.2008 12:59
Titel

[actionscript] mouseover-animation mit onEnterFrame

Antworten mit Zitat Zum Seitenanfang

75x740px breiter Film, bei rollover über den kompletten film soll der movieclip "holder" ins bild fahren, beim rollout wieder raus. funzt im flash und im Firefox prima, im IE garnicht (fährt nie ins bild), im safari mit störungen. hat jemand ne erklärung dafür?

Code:
function reinmove() {
    if ( _root.holder._x < 0  ) {
       _root.holder._x += 1
    } else {
        clearInterval(reinIntervalID);   
    }
}

function rausmove() {
    if ( _root.holder._x > -75  ) {
        _root.holder._x -= 1;
   } else {
        clearInterval(rausIntervalID);
   }
}

// Animation ausführen
_root.holder.onEnterFrame = function() {
    if ( ( _root._xmouse > 1 ) && ( _root._xmouse < 75 ) &&
    ( _root._ymouse > 1 ) && ( _root._ymouse < 540 ) ) {
        if ( _root.holder._x == -75  ) {
       reinIntervalID = setInterval(reinmove,5);
         }
    } else {
        if ( _root.holder._x == 0  ) {
            rausIntervalID = setInterval(rausmove,5);
        }
    }
}


Zuletzt bearbeitet von fuchsbau am Di 11.03.2008 14:30, insgesamt 3-mal bearbeitet
  View user's profile Private Nachricht senden
phihochzwei
Moderator

Dabei seit: 08.06.2006
Ort: Mülheim an der Ruhr
Alter: 46
Geschlecht: Männlich
Verfasst Di 11.03.2008 14:00
Titel

Antworten mit Zitat Zum Seitenanfang

Hast Du im IE mal drauf geklickt ?
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
Anzeige
Anzeige
fuchsbau
Threadersteller

Dabei seit: 15.08.2005
Ort: .//root
Alter: 40
Geschlecht: Männlich
Verfasst Di 11.03.2008 14:12
Titel

Antworten mit Zitat Zum Seitenanfang

ja klar, so einfach isses leider nech. also draufklicken und dadurch "aktivieren" bringt nichts.
  View user's profile Private Nachricht senden
phihochzwei
Moderator

Dabei seit: 08.06.2006
Ort: Mülheim an der Ruhr
Alter: 46
Geschlecht: Männlich
Verfasst Di 11.03.2008 15:44
Titel

Antworten mit Zitat Zum Seitenanfang

Dann machst Du was generell falsch. Denn wenn es daran nicht liegt: Flash macht keinen Unterschied, welcher Browser es ist. Flash ist Flash. Einzig die Version des Plugins ist wichtig.
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
fuchsbau
Threadersteller

Dabei seit: 15.08.2005
Ort: .//root
Alter: 40
Geschlecht: Männlich
Verfasst Di 11.03.2008 15:46
Titel

Antworten mit Zitat Zum Seitenanfang

wasn das für ne antwort? was könnte man denn z.B. generell falsch machen?
  View user's profile Private Nachricht senden
phihochzwei
Moderator

Dabei seit: 08.06.2006
Ort: Mülheim an der Ruhr
Alter: 46
Geschlecht: Männlich
Verfasst Di 11.03.2008 15:57
Titel

Antworten mit Zitat Zum Seitenanfang

Generell falsch ist schonmal, dass du in einem onEnterFrame Intervalle erzeugt.

und ansonsten: FLA´s posten hilft, denn nur so können die meisten hier den Fehler finden.


Zuletzt bearbeitet von phihochzwei am Di 11.03.2008 15:58, insgesamt 1-mal bearbeitet
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
fuchsbau
Threadersteller

Dabei seit: 15.08.2005
Ort: .//root
Alter: 40
Geschlecht: Männlich
Verfasst Di 11.03.2008 16:01
Titel

Antworten mit Zitat Zum Seitenanfang

die Intervalle werden absolut kontrolliert erzeugt, das onEnterFrame dient nur der permanenten mouseover-abfrage. es arbeitet immer nur 1 Intervall, erst wenn dieses gecleared ist, kann das nächste kommen.

fla:
Code:
/* Flashvars verarbeiten */

// Farbschema setzen
if ( linkovercolor == 'cyan' ) {
    overcolor = '0x00A6EB';
} else {
    overcolor = '0xE50083';   
}

// Aktives Element setzen
activeitem = inactiveitem;
activeitem = 0; //für lokalen Test
   
// Animation setzen
if (rolloutanimation == 0) {
    rollout = 0;   
} else {
    rollout = 1;   
}

// Parameter
param = url_param;

// XML Pfad
xmldir = rootxml;
xmldir = 'toll.xml'; //für lokalen Test

/* Textformate setzen */
standardFormat = new TextFormat();
standardFormat.font = "Arial";
standardFormat.color = 0x666666;
standardFormat.size = 12;

markedFormat = new TextFormat();
markedFormat.font = "Arial";
markedFormat.color = overcolor;
markedFormat.size = 12;

/* Holder erzeugen und positionieren */
this.createEmptyMovieClip('holder', 1);
if ( rollout == 1 ) {
   _root.holder._x = -75;
} else {
    _root.holder._x = 0;   
}
_root.holder._y = 0;

/* Elemente einlesen */
function loadXML(loaded) {
    if (loaded) {

      // Anzahl Menüpunkte lesen
      anzahlitems = this.firstChild.childNodes.length -1;
        // Textfelder erzeugen und formatieren
      link = new Array();
      for (i=0; i<=anzahlitems; i++) {
           _root.holder.createTextField('textfeld'+i, i, 0, 522-i*16, 75, 18);
           _root.holder['textfeld'+i].text = this.firstChild.childNodes[anzahlitems-i].childNodes[0].firstChild.nodeValue;
         link[anzahlitems-i] = this.firstChild.childNodes[i].childNodes[1].firstChild.nodeValue + param;
         if ( anzahlitems-i != activeitem ) {
              _root.holder['textfeld'+i].setTextFormat(standardFormat);
           } else {
              _root.holder['textfeld'+i].setTextFormat(markedFormat);      
           }
        }
   }
}

xmlData = new XML();
xmlData.ignoreWhite = true;
xmlData.onLoad = loadXML;
xmlData.load(xmldir);


_root.holder.onRollOver = function() {

   // Mouseover
   _root.holder.onMouseMove = function() {
       overitem = int( ( 540 - _root._ymouse ) / 16 );
       for (i=0; i<=anzahlitems; i++) {
           if ( anzahlitems-i!=activeitem ) {
              if ( i!=overitem ) {
                  _root.holder['textfeld'+i].setTextFormat(standardFormat);
              } else {   
                 _root.holder['textfeld'+i].setTextFormat(markedFormat);         
              }
          }
       }
   }

   //Verlinkung
   _root.holder.onMouseDown = function() {
        overitem = int( ( 540 - _root._ymouse ) / 16 );
        if ( activeitem!=anzahlitems-overitem ) {       
         getURL(link[overitem], '_self');
        }
    }
}

/* Animationsfunktionen */
function reinmove() {
    if ( _root.holder._x < 0  ) {
       _root.holder._x += 1;
    } else {
        clearInterval(reinIntervalID);   
    }
}

function rausmove() {
    if ( _root.holder._x > -75  ) {
        _root.holder._x -= 1;
   } else {
      clearInterval(rausIntervalID);
   }
}

// Animation ausführen
if ( rollout == 1 ) {

    _root.holder.onEnterFrame = function() {
       if ( ( _root._xmouse > 1 ) && ( _root._xmouse < 75 ) && ( _root._ymouse > 1 ) && ( _root._ymouse < 540 ) ) {
              if ( _root.holder._x == -75  ) {
            reinIntervalID = setInterval(reinmove,5);
             }
       } else {
              if ( _root.holder._x == 0  ) {
            rausIntervalID = setInterval(rausmove,5);
            }
       }
   
    }
}


xml:
Code:
<?xml version="1.0" ?>
<navi>
    <item>      
        <name>willkommen</name>
        <url><![CDATA[http://www.google.de]]></url>
    </item>
    <item>      
        <name>kleidung</name>
        <url><![CDATA[http://www.google.de]]></url>
    </item>
    <item>      
        <name>impressum</name>
        <url><![CDATA[http://www.google.de]]></url>
    </item>
</navi>


Zuletzt bearbeitet von fuchsbau am Di 11.03.2008 16:55, insgesamt 5-mal bearbeitet
  View user's profile Private Nachricht senden
phihochzwei
Moderator

Dabei seit: 08.06.2006
Ort: Mülheim an der Ruhr
Alter: 46
Geschlecht: Männlich
Verfasst Di 11.03.2008 16:16
Titel

Antworten mit Zitat Zum Seitenanfang

Moment. DAS ist alles ?

onMouseOver fährt die Navi rein und das wars ?
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
 
Ähnliche Themen Flash onEnterFrame Animation als Video ausgeben?
[Actionscript] Mouseover: In den Vordergrund
Darstellungsfehler GIF-Animation-Mouseover im IE
onEnterFrame durch setInterval ersetzen
Bildergalerie Mouseover andere Position & Mouseover Scroll
Mouseover
Neues Thema eröffnen   Neue Antwort erstellen Seite: 1, 2, 3  Weiter
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.