Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 14-02-2005, 16:01   #1 (permalink)
Neuer User
 
Registriert seit: Jun 2004
Beiträge: 27
Submenü aktivieren

Hi,

schaut euch bitte mal das Beispiel im Anhang an.

Ich will on(Rollover), dass sich ein Submenü öffnet, worin weitere Buttons enthalten sind. Dieses soll offen bleiben solang man den Grün markierten Bereich nicht verlässt, die Subbuttons sollen natürlich aktiv sein und auch on(Rollover) den entsprechenden Highlite zeigen. Klappt aber nicht. Momentan wird auf die subbuttons nicht reagiert. Was kann man da tun?

Das Script für den Level-1 Button ist folgendes ( hab ich hier aus dem Forum )

ActionScript:
  1. onClipEvent(enterFrame){
  2.     this.stop();
  3.  
  4. this.onRollOver = function() {
  5.     this.onEnterFrame = function() {
  6.         this.nextFrame();
  7.         if (this._currentframe == this._totalframes) {
  8.             delete this.onEnterFrame;
  9.         }
  10.     };
  11. };
  12. this.onRollOut = function() {
  13.     this.onEnterFrame = function() {
  14.         this.prevFrame();
  15.         if (this._currentframe == 1) {
  16.             delete this.onEnterFrame;
  17.         }
  18.     };
  19. };
  20. this.onRelease = function() {
  21.     getURL("level1.php");
  22. };
  23.  
  24. }

Kann mir jemand helfen? Das kann doch nicht so schwer sein. Ich glaub ich hab ein paar Denkfehler. Hab schon viel Probiert. Neuen MC für das Submenü, OnRollover auf Button oder MC angewendet, alles nicht das wahre. :(

Wäre nett wenn jemand ne Idee für mich hat,.

DANKE,
Sascha
Angehängte Dateien
Dateityp: zip submenu.zip (6,0 KB, 7x aufgerufen)
tysa ist offline   Mit Zitat antworten
Alt 14-02-2005, 17:57   #2 (permalink)
-
 
Benutzerbild von pape
 
Registriert seit: Jan 2004
Beiträge: 3.002
Es funktioniert nicht, da du mehrere Mausereignisse übereinander legen willst.

Da musst du mit hitTest nen workaround basteln:
ActionScript:
  1. _root.onMouseMove = function () {
  2.     if(deinFeld.hitTest(_root._xmouse,_root._ymouse,true)){
  3.         //ausfahren();
  4.     } else {
  5.         //einfahren
  6.     }
  7. }
dann könntest du die Buttons im Submenü ganznormal mit Release / Press Ereignissen versehen!

grz
pape
pape ist offline   Mit Zitat antworten
Alt 15-02-2005, 15:53   #3 (permalink)
Neuer User
 
Registriert seit: Jun 2004
Beiträge: 27
verstehe zwar nicht ganz was hittest macht aber ich versuch das mal.
danke für den tipp! was ist denn "deinfeld" in dem zusammenhang?
tysa ist offline   Mit Zitat antworten
Alt 15-02-2005, 18:42   #4 (permalink)
-
 
Benutzerbild von pape
 
Registriert seit: Jan 2004
Beiträge: 3.002
hitTest überprüft ob deinFeld grade von den koordinaten (hier die x/y maus positionen) berührt wird und gibt ggf. true zurück.

deinFeld ist in diesem Zusammenhang z.b. ein MovieClip, der ein Feld deines Menüs darstellt.
wenn dieses berührt wird, soll das Menü sich ausfahren und wenn es nicht berührt wird soll es wieder einfahren!
In dem Feld können dann wieder Buttons mit normalen Mausereignissen (onRelease/onPress...usw.) sein, da ja das Ausfahren des menüs nicht mit einem Mausereignis sondern mit einer Überprüfung der Courserpositionen gemacht wird!

pape
pape ist offline   Mit Zitat antworten
Alt 15-02-2005, 19:50   #5 (permalink)
Neuer User
 
Registriert seit: Jun 2004
Beiträge: 27
geil! klappt super.

ActionScript:
  1. _root.mc_1sub._visible = false;
  2.  
  3. _root.onMouseMove = function () {
  4.     if(_root.mc_1sub.hitTest(_root._xmouse,_root._ymouse,true)){
  5.        _root.mc_1sub._visible = true;
  6.     } else {
  7.        _root.mc_1sub._visible = false;
  8.     }
  9. }

im ersten frame einfach als action.
könnte man jetzt evtl noch verfeinern indem man ein fade-in/out macht, aber das reicht erstmal so.
müsste eigentlich auch noch dafür sorgen, dass der level 1 button bei mouse-over des submenüs im "over"-status bleibt, ... aber erstmal ok so.


vielen dank!
sascha

Geändert von tysa (15-02-2005 um 19:52 Uhr)
tysa 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 08:49 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele