Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 09-12-2004, 01:57   #1 (permalink)
Neuer User
 
Registriert seit: Dec 2004
Beiträge: 3
Mouse Events für zwei übereinander liegende Buttons

Hi Leute,

bin nach langem suchen im forum nun doch soweit, selbst mal was zu schreiben. Vielen Dank schon mal für eure Hilfe.

Frage: Wie kann ich Mouse Ereignisse von zwei übereinander liegenden Buttons abfragen?

Folgendes Problem:

Habe so eine typische RollOver Navigation, bei der das RollOver Event eines Buttons das jeweilige Untermenu aufrufen soll. Dazu habe ich drei Buttons angelegt:

Button MENU
Button UNTERMENU
Button DUMMY (invisible)

Beim RollOver von MENU erscheint UNTERMENU und beim RollOut von DUMMY sollte UNTERMENU dann wieder verschwinden.

Soweit so gut. Wenn ich auf MENU gehe, erscheint UNTERMENU, aber sobald ich MENU verlasse (um z.B. auf UNTERMENU zu klicken) verschwindet alles.

Liegt das daran, dass das RollOut Ereignis des DUMMY Buttons nicht mehr abgefangen wird, sobald ich auf den UNTERMENU Button gehe, d.h. das sich die beiden Mouse-Ereignisse von übereinanderliegenden Button nicht so recht vertragen.... ???

Sehr dankbar für Ratschläge, Hinweise, tipps jeglicher Art!!
-merci
m.
Angehängte Dateien
Dateityp: zip button.zip (3,2 KB, 8x aufgerufen)
magnet ist offline   Mit Zitat antworten
Alt 09-12-2004, 09:52   #2 (permalink)
agedoubleju
Gast
 
Beiträge: n/a
Du kannst entweder den Button, der nicht benötigt wird mit _visible=false verstecken oder mit _enabled=false sperren. Eine weitere Möglichkeit wäre, einen unsichtbaren MC (_alpha=0) zwischen die Button-Ebenen zu legen und dem MC einen leeren onRelease-Event mitzugeben, der alle Klicks abfängt:
ActionScript:
  1. this.meinUnsichtbarerMC.useHandCursor = false;//Hand-Cursor sperren
  2. this.meinUnsichtbarerMC.onRelease = function(){};//fängt alle Klicks nach "unten" ab
  3.  
  Mit Zitat antworten
Alt 09-12-2004, 12:16   #3 (permalink)
Neuer User
 
Registriert seit: Dec 2004
Beiträge: 3
Mouse Klick Events habe ich aber gar nicht. Das soll alles über ein Mouse Over funktionieren. So wie die Navigation hier http://www.klassikradio.de/

Vielleicht ist meine Herangehensweise auch falsch?

Wie schon gesagt, ich denke, es hat was damit zu tun, dass Flash nicht so recht weiß, welches MouseOver Event nun gemeint ist. Ich will ja BEIDE benutzen, für unterschiedliche Aktionen. Wenn ich den DUMMY Button (der beim RollOut die Aktion Menu schliessen anstösst) auf die oberste Ebene lege, dann funzt es. Das würde gehen, wenn ich dann noch das MousOver Event des UNTERMENU Buttons abfangen könnte, was bei meinem Beispiel bis jetzt nicht geht.

??? ???
magnet ist offline   Mit Zitat antworten
Alt 09-12-2004, 15:34   #4 (permalink)
User
 
Benutzerbild von jeypack
 
Registriert seit: Sep 2003
Ort: Essen
Beiträge: 616
Hallo magnet,

dein Beispiel funktioniert schon. Du musst nur diesen invisible Button bei den Eigenschaften auf 'als Menuelement behandeln' stellen und ihn rundherum so 3-4 pixel überstehen lassen. Dann greift auch das RollOut.

Oder du löst die ganze Sache etwas eleganter mit Actionscript. Ich habe dir das mal in dem angehängten Beispiel vorgemacht, wie so was aussehen kann.
Angehängte Dateien
Dateityp: zip button1.zip (3,5 KB, 58x aufgerufen)
jeypack ist offline   Mit Zitat antworten
Alt 09-12-2004, 18:17   #5 (permalink)
Neuer User
 
Registriert seit: Dec 2004
Beiträge: 3
Super jeypack! Genau das war's. Vielen Dank. -m.
magnet 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 23:27 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele