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

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 21-06-2011, 21:27   #1 (permalink)
Neuer User
 
Registriert seit: Mar 2003
Beiträge: 29
AS3 Bewegungstween - Menu slide in/out

Hallo

Ich möchte eine Navigation von open reinsliden lassen.
Kein Problem mit ZWEI Buttons. dann sieht es in etwa so aus:


import fl.transitions.Tween;
import fl.transitions.easing.*;

var inTween:Tween;
var outTween:Tween;

fadein_btn.addEventListener(MouseEvent.CLICK, fadeIn);
fadeout_btn.addEventListener(MouseEvent.CLICK, fadeOut);

function fadeIn(e:MouseEvent) : void {
inTween = new Tween(slideInNavi, "y", None.easeNone,0,250,1,true);
}

function fadeOut(e:MouseEvent) : void {

outTween= new Tween(slideinNavi, "y", None.easeNone,250,0,1, true);

}

Doch wie kann ich das auf nur einen Button, der den namne hat "Menue", anbringen?
Bin noch Anfänger, daher eine "einfache" Lösung wenn es geht...
Zocky ist offline   Mit Zitat antworten
Alt 22-06-2011, 08:23   #2 (permalink)
?-Developer
 
Registriert seit: Jul 2004
Ort: Zuchwil (CH)
Beiträge: 901
Welchen Namen meinst du genau?

Code:
function fadein(e:MouseEvent):void {
    var btn:Button = Button(e.currentTarget);
    if(btn.label != "menue") return; // Variante Was auf dem Button steht
    if(btn.name != "menue") return; // Falls du den Button.name gesetzt hast
    ...dein Code
}
__________________
Nur tote Fische schwimmen mit dem Strom
silentx ist offline   Mit Zitat antworten
Alt 23-06-2011, 07:26   #3 (permalink)
Neuer User
 
Registriert seit: Jun 2011
Beiträge: 4
Ich glaube ich verstehe, was du möchtest: der Button soll beim ersten Click das Menü ausfahren und es bei erunetem Click wieder einfahren. Kein Problem, du musst einfach die Eventlistener im jeweiligen Zustand vergeben:

Code:
import fl.transitions.Tween;
import fl.transitions.easing.*;

var inTween:Tween;
var outTween:Tween;

menu_btn.addEventListener(MouseEvent.CLICK, fadeIn);


function fadeIn(e:MouseEvent) : void {
	inTween = new Tween(slideInNavi, "y", None.easeNone,0,250,1,true);
        
        // raus mit dem alten Eventlistener, rein mit dem neuen
        menu_btn.removeEventListener(MouseEvent.CLICK, fadeIn);
        menu_btn.addEventListener(MouseEvent.CLICK, fadeOut);
}

function fadeOut(e:MouseEvent) : void {
	outTween= new Tween(slideinNavi, "y", None.easeNone,250,0,1, true);

        // ... und wieder zurück in den Anfangszustand
        menu_btn.removeEventListener(MouseEvent.CLICK, fadeOut);
        menu_btn.addEventListener(MouseEvent.CLICK, fadeIn);
	
}
Jetzt sollte es passen.
konrad_marcrea ist offline   Mit Zitat antworten
Alt 23-06-2011, 17:55   #4 (permalink)
Neuer User
 
Registriert seit: Mar 2003
Beiträge: 29
Hm.... also ganz verstehe ich es noch nicht, werde aber mal teste.

Meine Lösung sieht jetzt so aus. Hab mich an eine PHP Formularüberprüfung erinnert:

var inTween:Tween;
var texteffekte:MovieClip;

menue_btn.addEventListener(MouseEvent.CLICK, naviSlideIn);

var menueStatus:Boolean = false;
function naviSlideIn(e:MouseEvent) : void {

if (menueStatus === false) {
inTween = new Tween(slideInNavi, "y", Regular.easeOut, slideInNavi.y,40,2, true);
//menueStatus = !menueStatus;
menueStatus = true;

} else {
inTween = new Tween(slideInNavi, "y", Regular.easeOut, slideInNavi.y,-40,2, true);
//menueStatus = !menueStatus;
menueStatus = false;
}


}

Funktioniert gut.

Trotzdem Danke
Zocky ist offline   Mit Zitat antworten
Alt 23-06-2011, 17:58   #5 (permalink)
Neuer User
 
Registriert seit: Mar 2003
Beiträge: 29
Zitat:
Zitat von konrad_marcrea Beitrag anzeigen
Ich glaube ich verstehe, was du möchtest: der Button soll beim ersten Click das Menü ausfahren und es bei erunetem Click wieder einfahren. Kein Problem, du musst einfach die Eventlistener im jeweiligen Zustand vergeben:

Code:
import fl.transitions.Tween;
import fl.transitions.easing.*;

var inTween:Tween;
var outTween:Tween;

menu_btn.addEventListener(MouseEvent.CLICK, fadeIn);


function fadeIn(e:MouseEvent) : void {
	inTween = new Tween(slideInNavi, "y", None.easeNone,0,250,1,true);
        
        // raus mit dem alten Eventlistener, rein mit dem neuen
        menu_btn.removeEventListener(MouseEvent.CLICK, fadeIn);
        menu_btn.addEventListener(MouseEvent.CLICK, fadeOut);
}

function fadeOut(e:MouseEvent) : void {
	outTween= new Tween(slideinNavi, "y", None.easeNone,250,0,1, true);

        // ... und wieder zurück in den Anfangszustand
        menu_btn.removeEventListener(MouseEvent.CLICK, fadeOut);
        menu_btn.addEventListener(MouseEvent.CLICK, fadeIn);
	
}
Jetzt sollte es passen.
Jetzt versteh ich deine Version!
Werd ich auch mal versuchen, aber mit if-Abfrage scheint es leichter zu sein?
Zocky ist offline   Mit Zitat antworten
Alt 25-06-2011, 07:49   #6 (permalink)
Neuer User
 
Registriert seit: Jun 2011
Beiträge: 4
Zitat:
Zitat von Zocky Beitrag anzeigen
Jetzt versteh ich deine Version!
Werd ich auch mal versuchen, aber mit if-Abfrage scheint es leichter zu sein?
In diesem Fall macht das wohl wirklich keinen großen Unterschied, es kommt mir nur sauberer vor. Die Eventhandler bleiben kompakt, haben eine absolut eindeutige Definition und man spart sich eine Variable.

Z.B. könnte man mit meiner Lösung das Menü auch durch ein anderes Ereignis einfahren lassen, indem man "fadeOut(null)" aufruft. Mit der "if"-Variante müsste man immer zuerst prüfen, ob es überhaupt ausgefahren ist.

Prinzipiell eröffnet das Ein- und Ausschalten von Eventlistenern eine Menge interessanter Möglichkeiten.
__________________
Was ich so treibe: http://webconcept.marcrea.de
konrad_marcrea ist offline   Mit Zitat antworten
Antwort

Lesezeichen

Stichworte
tween

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
slide to position menu f.stotz ActionScript 1 5 31-03-2005 07:26
slide menu pikay03 Flash MX 4 15-02-2004 15:14
Slide Menu sickdaimen Flash MX 9 18-12-2003 13:36
Slide Menu? LordCash ActionScript 1 5 26-05-2003 12:39


Alle Zeitangaben in WEZ +1. Es ist jetzt 23:18 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele