Loading:


    Przekazywanie parametrów przez addEventListener - ActionScript 3

    Jedną z najtrudniejszych rzeczy dla programistów AS2 oraz ludzi, którzy zaczynają przygodę z ActionScript 3 jest wywołanie funkcji na odpowiedź jakieś wywołanej akcji np. naciśnięcie klawisza z klawiatury lub naciśnięcie klawisza myszki nad pewnym obiektem.

     

    W tym celu potrzebujemy funkcji wbudowanej jako nasłuchiwacza, czyli takiej funkcji, która rozpoznaje kiedy dana akcja została przeprowadzony, przez kogo oraz jaką akcję wykonać jeśli taka sytuacja wystąpi.

     

    addEventListener, bo przecież o nim mowa przyjmuje sporo argumentów, jednak tylko dwa pierwsze są przymusowe. Powinien być on również poprzedzony znakiem kropki oraz obiektem do którego należy. Prototyp wygląda następująco:

     

    obiekt_mc.addEventListener(NAZWA_AKCJI, nazwa_funkcji);

     

    Teraz czas na praktyczny przykład. Tworzymy navigacje (menu) w AS3 i mamy 3 linki, które powinny odwołać się do funkcji wyswietl_adres(), podając adres WWW, a więc napiszemy to następujaco:

     

    //deklaracja obiektów
    var mc_1:DynamicznaKlasa = new DynamicznaKlasa;
    var mc_2:DynamicznaKlasa = new DynamicznaKlasa;
    var mc_3:DynamicznaKlasa = new DynamicznaKlasa;

    //dodawanie adresów do każdej zmiennej
    mc_1.adres = "strona1.html";
    mc_2.adres = "strona2.html";
    mc_3.adres = "strona3.html";

    //dodanie nasłuchiwaczy do akcji na naciśnięcie klawisza myszki
    mc_1.addEventListener(MouseEvent.CLICK, wyswietl_adres);
    mc_2.addEventListener(MouseEvent.CLICK, wyswietl_adres);
    mc_3.addEventListener(MouseEvent.CLICK, wyswietl_adres);

    //funkcja przekierowująca na adres
    function wyswietl_adres(e:MouseEvent):void {
            var url:String = e.currentTarget.adres;
            var request:URLRequest = new URLRequest(url);
    try {
      navigateToURL(request, "_self");
    } catch (e:Error) {
      trace("Wystąpił błąd!");
    }

     

    Wystraczy spojrzeć na przykłąd powyżej i wiadomo, że do tego celu użyliśmy dynamicznie stworzonej klasy oraz własnej dodatkowej wlaściwości, która przetrzymuje nasz adres do przekierowania.

     

    Przykład na stronie: http://funkcje.net/view/12/23/2535/index.html Pokazuje ten przykład w zanimowanej wersji menu, które korzysta z wartości FlashVars.



    Napisz Artyku³

    Listing

    niema




    Dodano przez: divix
    Ranga: Administrator serwisu Punktów: 0
    Komentarze użytkowników
      • Tre¶æ komentarza
        Kod do komentarza (opcjonalnie)
        PHP JavaScript MySQL Smarty SQL HTML CSS ActionScript
        Autor
        Token
        token

         

         








    funkcje.net
    Wszelkie prawa zastrzeżone©. | Funkcje.net 2008-2025 v.1.5 | design: diviXdesign & rainbowcolors