Loading:

Książka Zend Framework 3. Poradnik Programisty.

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


Ten wpis posiada swój wątek na forum

Wszystkie pytania prosimy kierować właśnie tam ponieważ komentarze to miejsce na poprawki do kodu lub alternatywne rozwiązania i pytania nie będą publikowane

http://forum.funkcje.net/forum/viewtopic.php?f=12&t=2534

Dane do logowania na forum są takie same jak na funkcje.net



Dodano przez: divix
Ranga: Administrator serwisu Punktów: 37169
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-17 v.1.5 | design: diviXdesign & rainbowcolors