Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 17-08-2004, 09:49   #1 (permalink)
aussenseiter
 
Registriert seit: Aug 2004
Ort: Frankfurt
Beiträge: 34
Lightbulb Button rollOver SubButton

Ich hab mir einige Menüs angeguckt wie die das machen... doch keins machts so wie ichs haben will

also ich hab ne Schaltfläche gemacht un in der schaltfläche im "darüber" frame noch einen Movieclip wo 3 weitere SubButtons rauskommen... so das wenn man mit der maus über die schaltfläche geht die 3 sub buttons erscheinen die über der schaltfläche liegen wenn ich jetzt mit der maus hoch gehe weg von der haupt schaltfläche verschwinden die 3 sub buttons wieder... und das is mein problem... ich kann den Aktiv bereich nicht vergrößeren weil dahinter noch zeugs kommt...

ich hab mirs so vorgestellt ich hab ein transparentes feld in den Darüber feld unter die Sub Buttons gelegt und diesem feld möchte ich gern den befehl zuweisen das solange die maus darüber is der hauptbutton nicht in den "up" frame zurück geht... also das menü offen bleibt obwohl die maus ja nicht mehr über den haupt button ist...

manche menüs die ich mri angeguckt hab machen den hauptbutton durch einen moviclip und geben ihm nur die eigenschaft der schaltfläche... hab ich auch probiert nur das krieg ich gornitt hin wenn ich aus dem feld gehe bleibt das menü trotzdem offen erst wenn ich wieder drauf gehe schliesst es sich... und meine sub buttons haben transparenz die komischerweise nicht mehr da ist wenn ich drüber gehe...

also die variante mit sub button im button auf dem feld darüber ist mir logischer und besser... hier im forum hab ich auch schon gesucht und auch einige gefunden aber zu manchen gabs bis heut keine antwort und andere hatten anderes prbolem...

hoffe ihr habt verstanden was ich meine... langer text, kleines problem ^^
Sebb ist offline   Mit Zitat antworten
Alt 17-08-2004, 10:20   #2 (permalink)
-
 
Benutzerbild von pape
 
Registriert seit: Jan 2004
Beiträge: 3.002
die hauptschaltfläche als MC!
dann mit hitTest anfragen ob die maus drüber ist!
wenn ja, dann die subbuttons anzeigen lassen!
(der mc vergrößert sich dann automatisch und hittest gibt weiterhin true aus, wodurch die buttons nicht wieder verschiwnden, wenn man den main-button verlässt)

zwei Mausereignisse übereinander funktinoiert sowieso nicht

das problem hatte ich damals auch und konte es nicht begreifen...lol

grz
Robert
pape ist offline   Mit Zitat antworten
Alt 17-08-2004, 11:59   #3 (permalink)
aussenseiter
 
Registriert seit: Aug 2004
Ort: Frankfurt
Beiträge: 34
Lightbulb

danke, hab danach mal gesucht und die help gelesen das scheint die lösung zu sein

allerdings probier ichs grad umzusetzen aber ich scheiter

Code:
if (foreignbutton.hitTest(_root._xmouse,_root._ymouse,false) {
						  trace(MausOverTheForeignButton);
}
so peil ich den code... allerdings sagt die Script Syntax prüfung es wäre falsch...

und die trace aufgabe wird nicht gemacht wenn ich mit der maus auf den button geh... ???

der button ist ein moviclip und hat den instanznamen foreignbutton
wenn ich den if befehl in einen layer lege wird mein bildschirm blau, bild, blau, bild... flimmert... wenn ichs auf dem movieclip direkt leg kommts nicht...
Sebb ist offline   Mit Zitat antworten
Alt 17-08-2004, 14:33   #4 (permalink)
-
 
Benutzerbild von pape
 
Registriert seit: Jan 2004
Beiträge: 3.002
wird vermutlich daran liegen, dass MausOverTheForeignButton keine definierte Variable ist, sondern ein String, den du ausgeben möchtest..probier es mal so:
ActionScript:
  1. if (foreignbutton.hitTest(_root._xmouse,_root._ymouse,false) {
  2.     trace("MausOverTheForeignButton");
  3. }

grz
pape ist offline   Mit Zitat antworten
Alt 17-08-2004, 15:11   #5 (permalink)
aussenseiter
 
Registriert seit: Aug 2004
Ort: Frankfurt
Beiträge: 34
Lightbulb

PHP-Code:
if (foreignbutton.hitTest(_root._xmouse,_root._ymouse,true) {
    
trace("MausOverTheForeignButton");

dat hab ich eingegeben und er sagt trotzdem Fehler...

HTML-Code:
**Fehler** Symbol=Member, Ebene=Menü, Bild=1:Zeile 1: ')' erwartet
     if (foreignbutton.hitTest(_root._xmouse,_root._ymouse,true) {

Anzahl der ActionScript-Fehler: 1 	 Gemeldete Fehler: 1
Sebb ist offline   Mit Zitat antworten
Alt 17-08-2004, 15:30   #6 (permalink)
aussenseiter
 
Registriert seit: Aug 2004
Ort: Frankfurt
Beiträge: 34
Lightbulb

PHP-Code:
if (hitTest(_root._xmouse,_root._ymouse,true)); 
so ergibt er mir das es korrekt ist, muss jetzt leider kurs einkaufen fahren... danach probier ich mal weiter...

EDIT:

rofl der fehler lag an einem ) das fehlte das hat man davon wenn man den code kopiert aus dem forum :P

if (foreignbutton.hitTest(_root._xmouse,_root._ymouse ,true)) {
trace("MausOverTheForeignButton");
}

so musses sein...

Geändert von Sebb (17-08-2004 um 15:32 Uhr)
Sebb ist offline   Mit Zitat antworten
Alt 17-08-2004, 16:47   #7 (permalink)
aussenseiter
 
Registriert seit: Aug 2004
Ort: Frankfurt
Beiträge: 34
Exclamation

so wiedern problem

habs hinbekommen das es rauskommt wenn man die maus drüber bewegt...
allerdings schnall ich jetzt nicht wie der befehl sein soll das wenn die maus nicht mehr drauf ist das submenü wieder wegeht...

hab jetzt glaub ne menge ausprobiert wie es gehn könnte... mit unsichtbarer schaltfläche... und mit hittest... ich kriegs nich hin...

PHP-Code:
onClipEvent (enterFrame) {
    if (
hitTest(_root._xmouse_root._ymousefalse)) {
        
_parent.foreignbutton.gotoAndStop(1);
    }
    if (
hitTest(_root._xmouse_root._ymousetrue)) {
        
_parent.foreignbutton.gotoAndStop(2);
    }

so dacht ich es eigentlich, frame 2 is menü auf, frame 1 is zu... das aufmachen geht doch wenn ich dann hochscrolle gehts gleich wieder direkt zu... also die hittest feld erweitert sich nicht auf den frame2 wo das submenü offen ist...

???
Sebb ist offline   Mit Zitat antworten
Alt 17-08-2004, 18:16   #8 (permalink)
aussenseiter
 
Registriert seit: Aug 2004
Ort: Frankfurt
Beiträge: 34
Lightbulb

sodala, habs geschaft! ööööööööööööööööööööööööööööööööööööööööh

gröööööööööööööööööööööööööööööööööööööööööööööööö öhl

PHP-Code:
onClipEvent (enterFrame) {
    if (
hitTest(_root._xmouse_root._ymousetrue)) {
    }
    if (
hitTest(_root._xmouse_root._ymousetrue) == true) {
        
_parent.foreignbutton.gotoAndStop(2);
    }
    if (
hitTest(_root._xmouse_root._ymousetrue) == false) {
        
_parent.foreignbutton.gotoAndStop(1);
    }

wird direkt auf den movieclip gelegt der die hauptschaltfläche darstellt...
foreignbutton ist der instanzname des movieclips, wenn der die maus auf dem button ist wird der status auf true gesetzt und er eht im movieclip in frame 2 wo die submenüs rauskommen... wenn man den bereich verlässt geht er auf false und das menü schliesst sich...
Sebb ist offline   Mit Zitat antworten
Alt 18-08-2004, 00:16   #9 (permalink)
-
 
Benutzerbild von pape
 
Registriert seit: Jan 2004
Beiträge: 3.002
hi nochmal!

kurzer hinweis zum besseren verständnis:

das kannst du aber auch so (kürzer) schreiben:
ActionScript:
  1. onClipEvent (enterFrame) {
  2.     if (hitTest(_root._xmouse, _root._ymouse, true)) {
  3.         _parent.foreignbutton.gotoAndStop(2);
  4.     }  else
  5.         _parent.foreignbutton.gotoAndStop(1);
  6.     }
  7. }

mc.hitTest(...) gibt immer einen booleschen wert wieder.. also true oder false!

der "then" teil einer "if-abfrage" wird ausgeführt wenn die in klammern (if(...)) gelegene bedingung true ist!
daher reicht einfach nur das einsetzen des hittestes und das "== true" fällt weg!
statt ner doppelten abfrage kannste auch einfach das else ausführen lassen!
dieser teil der if abfrage wird ausgeführt wenn die in den klammern gelegene bedingung false ergibt´(also hier-> der mauszeiger nicht mehr über dem mc ist)

btw:
statt
ActionScript:
  1. if(irgendwas == false){...}
kannst du auch
ActionScript:
  1. if(!irgendwas){...}
schreiben!
das "!" steht für ein "not" und kehrt den wert von irgendwas um!
wenn also irgendwas == false und dann noch nen "!" davor steht ist es wieder true und der then teil wird ausgeführt (also heißt die bedingung "wenn irgendwas == false, dann...")

gruß
Robert
pape ist offline   Mit Zitat antworten
Alt 18-08-2004, 10:25   #10 (permalink)
aussenseiter
 
Registriert seit: Aug 2004
Ort: Frankfurt
Beiträge: 34
Lightbulb

merci :-)

hast aber ne ( vergessen ...

onClipEvent (enterFrame) {
if (hitTest(_root._xmouse, _root._ymouse, true)) {
_parent.foreignbutton.gotoAndStop(2);
} else {
_parent.foreignbutton.gotoAndStop(1);
}
}

bei der else...


EDIT:

funzt!

Geändert von Sebb (18-08-2004 um 10:32 Uhr)
Sebb ist offline   Mit Zitat antworten
Alt 18-08-2004, 10:33   #11 (permalink)
-
 
Benutzerbild von pape
 
Registriert seit: Jan 2004
Beiträge: 3.002
stimmt habe ich!

schreib mal
..this.hitTest...statt hitTest

man muss ja auch ein objekt angeben
pape 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 00:41 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele