Anzeige

[AS3] Menü funktioniert nur in eine Richtung (Zeitleiste vorwärts)

[AS3] - Menü funktioniert nur in eine Richtung (Zeitleiste vorwärts) | PSD-Tutorials.de

Erstellt von DessIntress, 12.05.2011.

  1. DessIntress

    DessIntress Noch nicht viel geschrieben

    Dabei seit:
    09.11.2010
    Beiträge:
    10
    Geschlecht:
    männlich
    Menü funktioniert nur in eine Richtung (Zeitleiste vorwärts)
    [gelöst] Menü funktioniert nur in eine Richtung (Zeitleiste vorwärts)

    Hallo Zusammen,
    ich hänge schon den ganzen Tag an einer bisher simplen AS3-Flashseite. (CS4)
    Mein Menü steht und die Schaltflächen sowie Menübereiche haben Instanznamen bekommen.

    Das Problem besteht jetzt darin, dass egal wie ich es mache - ob ich nun die Zeitleiste mit frame 10, 20, 30, 40, 50 anspreche oder ich deren Instanznamen anspreche - mein Menü nur von links nach rechts funktioniert. Sprich es geht die Zeitleiste voran aber checkt nicht, dass es auch mal wieder zu Bild 1,10,20 usw zurück muss.

    Wie mache ich das? Muss ich in jedem Menübereich den Eventlistener entladen und neu belegen?

    Den Befehl zum entladen kenne ich nämlich noch nicht und habe über google und der Forensuche nichts gefunden, ein Thema klang ähnlich aber das ist schon so lange her, dass ich mal davon ausgehe das die Lösung vergessen ist. (nur mit remove statt add brachte nichts)

    Das selbe Problem hatte ich vor 2-3 Monaten auch schon bei meiner ersten as3-seite, da habe ich dann irgendwann wieder auf as2 wechseln müssen, weil man die Sache mit einzelnen Szenen pro Menüpunkt auch nicht lösen kann.

    Für die Buttonbelegung habe ich schon viele Codes verwendet, aber momentan wird dieser hier benutzt und liegt separat in frame 1 (den habe ich aus dem besagten anderen thread)

    Code (Text):
    1.  
    2. //EventListener
    3. Home_bt.addEventListener(MouseEvent.CLICK, clickEvent1);
    4. Vorgeschmack_bt.addEventListener(MouseEvent.CLICK, clickEvent2);
    5. FAQ_bt.addEventListener(MouseEvent.CLICK, clickEvent3);
    6. WjVIP_bt.addEventListener(MouseEvent.CLICK, clickEvent4);
    7. Impressum_bt.addEventListener(MouseEvent.CLICK, clickEvent5);
    8. VIPB_bt.addEventListener(MouseEvent.CLICK, clickEvent6);
    9.  
    10. // home
    11. function clickEvent1(event:MouseEvent):void
    12. {
    13.     gotoAndStop(1);
    14. }
    15. // vorgeschmack
    16. function clickEvent2(event:MouseEvent):void
    17. {
    18.     gotoAndStop(10);
    19. }
    20. // faq
    21. function clickEvent3(event:MouseEvent):void
    22. {
    23.     gotoAndStop(20);
    24. }
    25. // werde jetzt vip
    26. function clickEvent4(event:MouseEvent):void
    27. {
    28.    gotoAndStop(30);
    29. }
    30. // impressum
    31. function clickEvent5(event:MouseEvent):void
    32. {
    33.    gotoAndStop(40);
    34. }
    35. // vip-bereich
    36. function clickEvent6(event:MouseEvent):void
    37. {
    38.    gotoAndStop(50);
    39. }
    40.  
     
    Zuletzt bearbeitet: 12.05.2011
    #1      
  2. ad86

    ad86 Allrounder

    Dabei seit:
    23.01.2010
    Beiträge:
    578
    Geschlecht:
    männlich
    Software:
    MasterCollection CS4
    Kameratyp:
    Canon Eos 60d
    Menü funktioniert nur in eine Richtung (Zeitleiste vorwärts)
    AW: Menü funktioniert nur in eine Richtung (Zeitleiste vorwärts)

    Hi,

    erst einmal etwas Allgemeines:

    1. Variablen (z.B. Deine Buttons schreibt man am Anfang klein, ist so eine Art Konvention beim Programmieren)
    2. Buttons haben im Allgemeinen die Endung _btn, bei Dir fehlt das n
    3. Würde ich Deine Methoden anders nennen, clickEvent1 sagt nicht viel aus. Könntest z.B. gotoHome nehmen.

    Die Dinge musst Du aber nicht machen. Es zwingt Dich keiner zu. Ist im Allgemeinen aber so üblich. (bei 3. Stichwort: sprechende Namen)

    Nun aber zu Deinem Problem.

    Das Script, was Du hier gezeigt hast, würde ich auf Frame 1 in einer Ebene as3 setzen. IN den Frames 10, 20, 30 der Ebene as3 erstellst Du ein neues Schlüsselbild und fügst bei jedem Frame folgendes ein (der Btn, der die aktive Seite zeigt sollte in dem jeweiligen Frame rausgenommen werden, z.B. bei Frame 1 =Home-Seite braucht der home_btn keinen EventListener)

    Code (Text):
    1. Home_bt.addEventListener(MouseEvent.CLICK, clickEvent1);
    2. Vorgeschmack_bt.addEventListener(MouseEvent.CLICK, clickEvent2);
    3. FAQ_bt.addEventListener(MouseEvent.CLICK, clickEvent3);
    4. WjVIP_bt.addEventListener(MouseEvent.CLICK, clickEvent4);
    5. Impressum_bt.addEventListener(MouseEvent.CLICK, clickEvent5);
    6. VIPB_bt.addEventListener(MouseEvent.CLICK, clickEvent6);
    MFG ad86
     
    #2      
  3. DessIntress

    DessIntress Noch nicht viel geschrieben

    Dabei seit:
    09.11.2010
    Beiträge:
    10
    Geschlecht:
    männlich
    Menü funktioniert nur in eine Richtung (Zeitleiste vorwärts)
    AW: Menü funktioniert nur in eine Richtung (Zeitleiste vorwärts)

    thx erst mal ;)

    zu 1. normal schreib ich quasi alles klein, aber bei der seite dachte ich mir dass ich mal auf die groß- und kleinschreibung achte^^

    bei 2tens hast du vollkommen Recht, werd ich auch noch ändern.

    und was die 3 angeht, wie gesagt ich hatte wegs diesem Problem schon viele codes, die hatte ich alle schön geändert, bis ich feststellte, dass es eh nicht geht. Darum hab ich mir jetzt gesagt ich mach erst die Feinheiten wenn das Problem gelöst ist.


    Hab ich auch schon versucht, Dann kommt die Meldung dass clickeventX schon in verwendung ist
    einmal die bank durch.
    wenn ich jedem Event einen neuen Namen gebe werden dann Menüpunkte übersprungen. Das hab eich auch schon versucht
     
    #3      
  4. ad86

    ad86 Allrounder

    Dabei seit:
    23.01.2010
    Beiträge:
    578
    Geschlecht:
    männlich
    Software:
    MasterCollection CS4
    Kameratyp:
    Canon Eos 60d
    Menü funktioniert nur in eine Richtung (Zeitleiste vorwärts)
    AW: Menü funktioniert nur in eine Richtung (Zeitleiste vorwärts)

    Hi,
    Dann lass Dein Script auf Frame1 und die restlichen Schlüsselbilder löschst Du (von der as3-Ebene).
    Deine Btns sollten auf einer extra Ebene sein, und keine Schlüsselbilder enthalten.

    Dann sollte es funktionieren. Hab es gerade getestet.


    EDIT: Auf den Frames 10, 20, 30 sollten nicht nochmal die Funktionen stehen! Die Funktionen stehen nur in Frame1. Oder Du nimmst die gerade beschrieben Methode.


    MFG ad86
     
    Zuletzt bearbeitet: 12.05.2011
    #4      
  5. DessIntress

    DessIntress Noch nicht viel geschrieben

    Dabei seit:
    09.11.2010
    Beiträge:
    10
    Geschlecht:
    männlich
    Menü funktioniert nur in eine Richtung (Zeitleiste vorwärts)
    AW: Menü funktioniert nur in eine Richtung (Zeitleiste vorwärts)

    klar, bei mir kommt immer alles auf einzelnen Ebenen (Rahmen, Fotos, Text, Menü, Aktion usw.) in as2 hab ich noch nie so ein Problem gehabt wie in as3.

    soooo!!! wollte gerade schon posten, warum das bei dir aber nicht bei mir geht, aber dann hab ich mal noch was getestet....
    Ich hab alles nach und nach gelöscht bis nur noch der Text und die Buttons übrig blieben, ging allerdings auch nicht.
    Aber dann hab ich gesehen woran es liegt: Ich hab so alá altbacken-as2 das Menü in jedem Menübereich neu aufgebaut um den momentan aktiven Menüpunkt hervorzuheben.(jeweils nur die Grafik getauscht)
    Zack Menü ab Frame 10 gelöscht und das erste von Frame 1-9 verlängert und schon geht es wieder.

    Ich könnt mich dafür echt windelweich Schlagen :D Den ganzen Tag seit heute morgen mit diesem Schwachsinn verbracht, für eine 20 sekunden-lösung *rolleyes* is aber auch fies *g*
    Was ich mich aber weiterhin interessiert ist die Frage: warum ging das dann in die eine Richtung aber nicht in die Andere? Gibts da ne logische Erklärung von jemandem der grad zu viel Zeit hat?

    Jetzt muss ich hier also nur noch im Forum danach suchen, wie man die aktiven Schaltflächen hervorhebt ohne das so umständlich zu machen. (wurde eh mal Zeit)

    danke nochmal für die Mühe ;)
     
    Zuletzt bearbeitet: 12.05.2011
    #5      
  6. ad86

    ad86 Allrounder

    Dabei seit:
    23.01.2010
    Beiträge:
    578
    Geschlecht:
    männlich
    Software:
    MasterCollection CS4
    Kameratyp:
    Canon Eos 60d
    Menü funktioniert nur in eine Richtung (Zeitleiste vorwärts)
    AW: Menü funktioniert nur in eine Richtung (Zeitleiste vorwärts)

    Hi,

    Wäre z.B. so möglich
    ganz oben die as3-Ebene (oder wie auch immer Sie bei Dir heißt)
    darunter eine Ebene highlight
    darunter eine Ebene btn
    Darunter alle anderen Ebenen

    Auf der Ebene Btn sind Deine Btns. (ohne Schlüsselbilder)
    Auf der Ebene highlight sind die Highlight-Btn (mit mehreren Schlüsselbildern)
    Für highlight also:
    Frame 1 Highlight-Version home (nichts anderes)
    Frame 10 Highlight-Version vorgeschmack (nichts anderes)
    Frame 20 Highlight-Version faq (nichts anderes)
    ...

    Zur Highlight-Grafik: Sie sollte mindestens genauso groß sein, wie der normale Btn, da die Grafik nur den Btn überlagert, und Ihn somit außer Kraft setzt (für den jeweiligen Menüpunkt).

    MFG ad86
     
    #6      
  7. DessIntress

    DessIntress Noch nicht viel geschrieben

    Dabei seit:
    09.11.2010
    Beiträge:
    10
    Geschlecht:
    männlich
    Menü funktioniert nur in eine Richtung (Zeitleiste vorwärts)
    AW: Menü funktioniert nur in eine Richtung (Zeitleiste vorwärts)

    hehe genau so hab ichs auch gemacht, geht schneller als großartig dynamische schaltflächen zu basteln. ist eh arg happig wenn man grad erst aus as3 umsteigt^^

    im prinzip hat man dadurch nur eine schablone darüber gelegt.
    einen vorteil hat die sache heut schon gehabt.... ich hab verdammt viel gelernt und ne menge guter seiten gefunden :)
     
    #7      
x
×
×