Zurück   Flashforum > Flash > Flash Fortgeschritten > Flash CS3 Professional

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 22-04-2010, 15:46   #1 (permalink)
Neuer User
 
Benutzerbild von Royal Flush
 
Registriert seit: Aug 2006
Beiträge: 180
Navigations-Problem

Hi Flashers,

habe ein Problem mit einem Script (siehe Anhang): alles soweit gut, bei Mouse_Over etc funzt alles, aber bei CLICK möchte ich ganz gerne, daß der Text "Home" Blau bleibt und nicht wieder weiß wird. Jemand eine Idee? Ich weiß, man kann das in AS 3 sicher alles schöner lösen.....aber ich bin halt ehrer ein Timeliner:-)

Thanx
Flush
Angehängte Dateien
Dateityp: fla nava.fla (78,5 KB, 2x aufgerufen)
Royal Flush ist offline   Mit Zitat antworten
Alt 22-04-2010, 15:47   #2 (permalink)
Neuer User
 
Benutzerbild von Royal Flush
 
Registriert seit: Aug 2006
Beiträge: 180
...hier noch mal das Script

PHP-Code:
stop();


chan1.addEventListener(MouseEvent.MOUSE_OVERclickchan1);
function 
clickchan1(evtObj:MouseEvent){
    
gotoAndPlay("s2");
}


chan1.addEventListener(MouseEvent.MOUSE_OUTclickchan1out);
function 
clickchan1out(evtObj:MouseEvent){
    
gotoAndPlay("s3");
}


chan1.addEventListener(MouseEvent.CLICKclick1);
function 
click1(evtObj:MouseEvent){
    
gotoAndStop("s4");

Royal Flush ist offline   Mit Zitat antworten
Alt 22-04-2010, 15:51   #3 (permalink)
about nothing
 
Benutzerbild von M!ch!
 
Registriert seit: Mar 2002
Ort: Borken
Beiträge: 724
Hi,

naja, ist doch ganz klar. Weil die Maus beim Click noch über dem Button ist, bleibt der Text blau. Sobald du aber wieder raus fährst - und das wird ja schlussendlich passieren - wird der Text wieder weiß. Du musst eine Variable beim Click setzen. Diese wird dann bei MouseOut abgefragt. Ist sie true, soll er halt stehen bleiben.

Gruß, Michi
__________________
M!ch! ist offline   Mit Zitat antworten
Alt 22-04-2010, 15:55   #4 (permalink)
about nothing
 
Benutzerbild von M!ch!
 
Registriert seit: Mar 2002
Ort: Borken
Beiträge: 724
... hier mal das abgeänderte Script:
ActionScript:
  1. stop();
  2. var buttonTest:Boolean;
  3.  
  4.  
  5. chan1.addEventListener(MouseEvent.MOUSE_OVER, clickchan1);
  6. function clickchan1(evtObj:MouseEvent){
  7.     gotoAndPlay("s2");
  8. }
  9.  
  10.  
  11. chan1.addEventListener(MouseEvent.MOUSE_OUT, clickchan1out);
  12. function clickchan1out(evtObj:MouseEvent){
  13.     if (buttonTest != true) {
  14.         gotoAndPlay("s3");
  15.     }
  16. }
  17.  
  18.  
  19. chan1.addEventListener(MouseEvent.CLICK, click1);
  20. function click1(evtObj:MouseEvent){
  21.     gotoAndStop("s4");
  22.     buttonTest = true;
  23. }

Gruß, Michi
__________________
M!ch! ist offline   Mit Zitat antworten
Alt 22-04-2010, 15:58   #5 (permalink)
Neuer User
 
Benutzerbild von Royal Flush
 
Registriert seit: Aug 2006
Beiträge: 180
Hi Michi,

man, Danke erst mal! Das mit der Variablen ist natürlich ein Super-Idee :-)
Bis dahin reichen meine AS3 Kenntnisse leider noch nicht, also hab ich über Variablen gar nicht nachgedacht. Aber ich bin ja schon froh, wenn ich nah dran komme :-)

Werde jetzt gleich mal das Script ausprobieren, Dank Dir noch mal!!
Flush
Royal Flush ist offline   Mit Zitat antworten
Alt 22-04-2010, 16:02   #6 (permalink)
about nothing
 
Benutzerbild von M!ch!
 
Registriert seit: Mar 2002
Ort: Borken
Beiträge: 724
Kein Problem.

Bedenke aber dass das von mir nur ein Beispiel ist. Wenn der Button gedrückt ist und du wieder drüber fährst, wird trotzdem noch das entsprechende Tween abgespielt. Also muss bei MouseOver auch so eine Abfrage hin. Und wenn der Button nochmal gedrückt wird, muss die Variable wieder auf false stehen, da der Button beim weiteren klick ja nicht mehr aktiv sein soll, oder? Also muss beim Click auch eine Abfrage rein.

Gruß, Michi
__________________
M!ch! ist offline   Mit Zitat antworten
Alt 22-04-2010, 16:14   #7 (permalink)
Neuer User
 
Benutzerbild von Royal Flush
 
Registriert seit: Aug 2006
Beiträge: 180
Oh ja ich merke gerade schon: wenn ich noch ein paar andere Menüpunkte ähnlich aufbaue wird das nix. Scheinbar stören sich die Variablen gegenseitig, auch wenn ich sie unterschiedl. benenne.....
Na ja ich werds noch mal überdenken und weiterprobieren...Danke noch mal!

Flush
Royal Flush ist offline   Mit Zitat antworten
Alt 22-04-2010, 16:20   #8 (permalink)
Neuer User
 
Benutzerbild von Royal Flush
 
Registriert seit: Aug 2006
Beiträge: 180
Übrigens, nur so am Rande: ich versuche zu Übungszwecken gerade diese Navigation nachzubauen: davi-t.com
Hier sieht das alles so leicht aus.....
Daher auch mein Fragen :-)

Cheers
Flush
Royal Flush ist offline   Mit Zitat antworten
Alt 25-04-2010, 18:00   #9 (permalink)
Neuer User
 
Benutzerbild von Royal Flush
 
Registriert seit: Aug 2006
Beiträge: 180
Hallo Michi,

hoffe Du liest dies noch: ich stecke total fest mit dem Thema, ich poste anbei noch mal ein Script, daß ich gebastelt habe, daß aber irgendwo nicht funzut, wahrscheinlich mache ich einen Denkfeheler. Vielleicht hast Du noch einen Tip? Vom Prinzip her ist der Ansatz doch ok, oder? Das Problem ist das "wiederaufheben" von vorher geklickten Channels....

Danke schon mal
Flush

PHP-Code:
stop();

var 
buttontest:Boolean;

home_btn.addEventListener(MouseEvent.MOUSE_OVERhomeover);
function 
homeover(evtObj:MouseEvent){
    if(
buttontest != true)
    
gotoAndPlay("home_tween1");
}


home_btn.addEventListener(MouseEvent.MOUSE_OUThomeout);
function 
homeout(evtObj:MouseEvent){
    if(
buttontest != true)
    
gotoAndPlay("home_tween2");
}


home_btn.addEventListener(MouseEvent.CLICKhomeclick);
function 
homeclick(evtObj:MouseEvent){
    if(
buttontest false)
    
gotoAndPlay("home_tween4");
    
buttontest true;
}


//portfolio Button


port_btn.addEventListener(MouseEvent.MOUSE_OVERportover);
function 
portover(evtObj:MouseEvent){
    if(
buttontest != true)
    
gotoAndPlay("port_tween1");
}


port_btn.addEventListener(MouseEvent.MOUSE_OUTportout);
function 
portout(evtObj:MouseEvent){
    if(
buttontest != true)
    
gotoAndPlay("port_tween2");
}


port_btn.addEventListener(MouseEvent.CLICKportclick);
function 
portclick(evtObj:MouseEvent){
    if(
buttontest false)
    
gotoAndPlay("home_tween3");
    
buttontest true;

Angehängte Dateien
Dateityp: fla test.fla (45,5 KB, 1x aufgerufen)

Geändert von Royal Flush (25-04-2010 um 18:01 Uhr)
Royal Flush ist offline   Mit Zitat antworten
Alt 25-04-2010, 18:11   #10 (permalink)
dr monk
Gast
 
Beiträge: n/a
Servus Flush,

ich hab deinen Code nur mal schnell überflogen aber könnte es sein das dir ein

PHP-Code:
buttontest false
fehlt? Wenn du auf den Boolan-Wert abfragst sollte dieser sich ja auch irgendwo ändern. Soweit ich das sehe wird dein Wert ja nur zu "true". Von dem her musst du wohl in deiner Funktion, in der du die Schaltfläche wieder "freigeben" willst, diesen Wert auf "false" setzen

MfG Monk
  Mit Zitat antworten
Alt 25-04-2010, 18:57   #11 (permalink)
Neuer User
 
Benutzerbild von Royal Flush
 
Registriert seit: Aug 2006
Beiträge: 180
Servus Dr. Monk,

hm, ich weiß jetzt nicht genau wo Du
PHP-Code:
buttontest false
setzen möchtest.!? Ich hab so einiges probiert und es funzelt einfach nicht.....
Royal Flush ist offline   Mit Zitat antworten
Alt 26-04-2010, 15:47   #12 (permalink)
dr monk
Gast
 
Beiträge: n/a
PHP-Code:
port_btn.addEventListener(MouseEvent.CLICKportclick);
function 
portclick(evtObj:MouseEvent){
    if(
buttontest == true){
        
gotoAndPlay("home_tween3");
        
buttontest false;
    }

Das eine muss das andere ausschließen. Wenn buttontest = true ist, ist der erste Button aktiviert. Steht der Wert auf false ist der zweite aktiv.

p.s. du hast eine komische arkt deinen Code zu schreiben. Meckert dein Flash da nicht rum wenn du {} weglässt? (hab meines grad nicht in reichweite).

MfG Monk
  Mit Zitat antworten
Alt 26-04-2010, 17:31   #13 (permalink)
Neuer User
 
Benutzerbild von Royal Flush
 
Registriert seit: Aug 2006
Beiträge: 180
Hi Dr Monk,

Danke für deinen Tip, werde das mal probieren. Da ich kein Coder bin und eigentlich noch ganz am Anfang von AS3 stehe, weiß ich nicht so genau, wie man einen wirklich sauberen Code runterschreibt. Denke aber mal das wird sich geben.

Cheers
Flush
Royal Flush 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


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Navigations Problem 8ideen Flash Einsteiger 4 29-05-2007 15:06
AS Navigations Problem SphereoX ActionScript 1 4 06-08-2003 21:40
Navigations-Problem chin_chilla Flash 4 und Flash 5 5 05-12-2002 19:27
Navigations Problem!! Devil ActionScript 1 5 14-06-2002 12:00


Alle Zeitangaben in WEZ +1. Es ist jetzt 21:10 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele