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: 38423
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-2020 v.1.5 | design: diviXdesign & rainbowcolors