Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 19-05-2004, 01:17   #1 (permalink)
freak
 
Benutzerbild von TheICrow
 
Registriert seit: Jul 2003
Ort: Karlsruhe
Beiträge: 11
Question rollover / rollout mit hitTest

hey,

für einen imageviewer such ich nach einer möglichkeit bei rollover über einem movieclip mit der maus einen eigenen cursor darzustellen, bei rollout auf den standardcursor zurückzustellen.
der imageviewer selbst is ein object von dem 2 oder mehrere instanzen erstellt werden. der code für die steuerung des cursors ist eine methode des imageviewer-objects.

movieClip.onRollover kommt nicht in frage da es sich um einen viewer mit eigenen buttons und textfeldern handelt.
hitTest wiederum kann nur in einer fortlaufenden abfrage verwendet werden in verbindung mit einem handler (mouse listener onMouseMove, onEnterFrame oder setInterval ).

im folgenden code würde die funktion fortlaufend aufgerufen werden. in diesem fall kommen sich die funktionen gegenseitig ins gehege, da ein viewer newCursor(); ein anderer resetCursor(); aufruft:
ActionScript:
  1. myListener = new Object();
  2. myListener.onMouseMove = function() {
  3. if (mask.hitTest(_xmouse, _ymouse, false)) {
  4. trace("rollover");
  5. newCursor();
  6. } else {
  7. trace("rollout");
  8. resetCursor();
  9. }
  10. } Mouse.addListener(myListener);
ideal wäre dann, eine abfrage mit hitTest die bei rollover über den movieclip einmalig newCursor(); und bei rollout einmalig resetCursor(); aufruft. bislang hab ich es mit addListener / removeListener, setInterval / clearInterval versucht.. bislang ohne Erfolg.

freue mich über vorschläge, links zu tutorials oder jedwelchen informationen diesbezüglich.

thanx & greetz, Thomas.
__________________
---------= The|Crow =--------
[Ouoth' The Raven 'Nevermore']
TheICrow ist offline   Mit Zitat antworten
Alt 19-05-2004, 02:06   #2 (permalink)
- Der ActionScripter -
 
Registriert seit: Jun 2001
Ort: germany
Beiträge: 108
Re: rollover / rollout mit hitTest

wie wärs damit?

ActionScript:
  1. myListener = new Object();
  2. myListener.onMouseMove = function() {
  3.         if (mouseCursorSet) return;
  4.         if (mask.hitTest(_xmouse, _ymouse, false)) {
  5.                 trace("rollover");
  6.                 newCursor();
  7.                 _global.mouseCursorSet = true;
  8.         } else {
  9.                 trace("rollout");
  10.                 resetCursor();
  11.                 _global.mouseCursorSet = false;
  12.         }
  13. } Mouse.addListener(myListener);

grüsse
YellowSky
__________________

Tobias Fendel
lieber heimlich schlau, als unheimlich laut

[TrashCan] [Die ActionScripter] [IRC-FlashChat]
YellowSky ist offline   Mit Zitat antworten
Alt 19-05-2004, 16:37   #3 (permalink)
freak
 
Benutzerbild von TheICrow
 
Registriert seit: Jul 2003
Ort: Karlsruhe
Beiträge: 11
vielen dank YellowSky,

mit der globalen variablen hat auch irgendwas gehakt.. kontinuierlich rollout getraced, bei rollover einmal 'rollover' getraced und dann nichtmehr reagiert..

beim erstellen einer beispiel .fla datei bin ich (mit einer menge glück vermutlich) über die lösung gestolpert.. mouseListeners funktionieren, man muss diese aber mit var lokal halten.
ActionScript:
  1. var overListener = new Object();
  2. var outListener = new Object();
  3. overListener.onMouseMove = function() {
  4. if (mask.hitTest(_xmouse, _ymouse, false)) {
  5. trace("rollover");
  6. newCursor();
  7. Mouse.removeListener(overListener);
  8. Mouse.addListener(outListener);
  9. }
  10. }
  11. outListener.onMouseMove = function() {
  12. if (!mask.hitTest(_xmouse, _ymouse, false)) {
  13. trace("rollout");
  14. resetCursor();
  15. Mouse.removeListener(outListener);
  16. Mouse.addListener(overListener);
  17. }
  18. }
  19. Mouse.addListener(overListener);
danke für hilfe, servus
thomas
__________________
---------= The|Crow =--------
[Ouoth' The Raven 'Nevermore']
TheICrow 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 03:28 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele