Klickfunktion + Rollover Aktion

R

rara

Hi,

ich hab folgendes Problem, ich versuche die ganze Zeit eine Klickfunction auf ein Link auszuführen, doch ich wollte es so hinkriegen, dass ein animierter Unterstrich auftaucht sobald der Button gedrückt ist.

Hier ein kleines Bild dazu, um es verständlicher zu machen:

http://yfrog.com/5cdskaddjklj

Hier der Code:

Code:
mc.addEventListener(MouseEvent.ROLL_OVER, rollOverHandler);
function rollOverHandler(e:MouseEvent): void {
	e.currentTarget.gotoAndPlay("_over");
}

mc.addEventListener(MouseEvent.ROLL_OUT, rollOutHandler);
function rollOutHandler(e:MouseEvent): void {
		e.currentTarget.gotoAndPlay("_out");
}

mc.addEventListener(MouseEvent.CLICK, clickHandler);
function clickHandler(e:MouseEvent): void {
	var myRequest:URLRequest = new URLRequest("http://www.google.de");
	navigateToURL(myRequest,"_blank");
}


Nach jedem movieclip-label habe ich ein "stop();" eingefügt.
Ich komme einfach nicht auf die Lösung. Ich habe auch eine if-Anweisung im rollouthandler, das habe ich nicht so richtig gebacken bekommen.
"buttonDown==true;" hat auch nicht funktioniert, im Internet habe ich auch nix gefunden und hier im Forum auch nicht. :(

Wäre sehr nett falls jemand mir helfen könnte.
Danke vorab

gruß
rara
 
Hallo rara,

dein Code ist absolut richtig.
Du musst wohl mal hochladen was du hast, damit der Fehler gefunden werden kann.


mfg
m@trix
 
Ich weiß, dass der Code richtig ist, es liegt aber auch nicht an der Datei, denn wenn ich mit der Maus rüber gehe, dann kommt der Unterstrich ja.
Nur wenn ich nachdem Klick mit der Maus von dem mc weg gehe, dann bleibt der Unterstrich nicht.

Um es noch verständlicher zu machen:

IF (Maus over mc) {
mc=unterstrich
}
else if (maus over mc + link-click){
mc=unterstrich (konstant)
\

So ungefähr ;)

danke vorab
 
Code:
var clicked:Boolean = true;
mc.addEventListener(MouseEvent.ROLL_OVER, rollOverHandler);
function rollOverHandler(e:MouseEvent):void {
	if (clicked)
		e.currentTarget.gotoAndPlay("_over");
}

mc.addEventListener(MouseEvent.ROLL_OUT, rollOutHandler);
function rollOutHandler(e:MouseEvent):void {
	if (clicked)
		e.currentTarget.gotoAndPlay("_out");
}

mc.addEventListener(MouseEvent.CLICK, clickHandler);
function clickHandler(e:MouseEvent):void {
	clicked = (clicked)?false:true;
	var myRequest:URLRequest = new URLRequest("http://www.google.de");
	navigateToURL(myRequest,"_blank");
}


mfg
m@trix
 
Hi danke dir,

die schreibweise .. ?false:true... kenne ich ja gar nicht. Kann man das auch anders hin schreiben ?

mfg
 
Code:
x = bedingung?wert1:wert2;
bedeutet das gleiche wie
Code:
if(bedingung){
  x = wert1;
}else{
  x = wert2;
}
 
Exakt,

oder auf das Beispiel bezogen
Code:
if(clicked == true){
   clicked = false;
} else{
   clicked = true;

War dazu gedacht, das beim erneuten Klicken der MC wieder zurücksrpingen kann.
Ich weiß nicht, ob es so gedacht war..


mfg
m@trix
 
:offtopic: oder:
Code:
clicked&=false;
oder:
Code:
clicked^=true;
Das geht auch noch :)
 
Zuletzt bearbeitet:

Neue Beiträge

Zurück