Pe langa evenimentele (events) prestabilite in ActionScript 3 (MouseEvent, KeyboardEvent, etc.) pot fi create si altele noi (Custom Events), prin extinderea clasei EventDispatcher.
- "EventDispatcher" e clasa de baza pt. evenimente.
// Clasa Game (cu un "Custom Event") package { // Importa clasele a caror metode sunt folosite import flash.events.*; // Pt. a putea utiliza /extinde clasa EventDispatcher import flash.utils.*; // Necesara pt. setTimeout // Creare clasa Game ca extindere la EventDispatcher public class Game extends EventDispatcher { // Se defineste o constanta ce va reprezenta numele noului eveniment // Valoarea ei da numele evenimentului public static const GAME_OVER:String = 'gameOver'; // Proprietate privata, folosta doar in clasa pt. retinerea numaratorii private var sec:int = 0; // Metoda constructor a clasei public function Game(end:int) { // Apeleaza functia "numara()" cu proprietatea "sec" ca argument numara(this.sec); // Functia "numara()" in cadrul constructorului (apelata prin instructiunea de mai sus) function numara(sec:int):void { // Daca proprietatea 'sec' are valoarea 3, apeleaza metoda "endGame()" if(this.sec==end) endGame(); // Altfel else { trace(sec); // Afiseaza in Output valoaarea parametrului 'sec' this.sec = sec+1; // Modifica valoarea proprietatii "sec" cu cea din parametru + 1 // "this.sec" este proprietatea, 'sec' simplu e parametru functiei // Apeleaza functie "numara" la fiecare secunda, cu proprietatea "sec" ca argument setTimeout(numara, 1000, this.sec); } } } // Metoda privata, apelata cand "sec" ajunge la valoarea parametrului "end" // "end" e parametru metodei constructor si trebuie transmis la crearea instantei clasei private function endGame():void { // Declanseaza evenimentul creat si reprezentat de aceasta clasa dispatchEvent(new Event(Game.GAME_OVER)); } } }- Clasa Game contine o constanta "GAME_OVER" care va reprezenta numele evenimentului, o proprietate privata "sec" (folosita doar in corpul clasei) si o metoda privata "endGame()" care declanseaza evenimentul creat si reprezentat de aceasta clasa.
// Creare instanta la clasa Game, cu un numar ca argument var game:Game = new Game(3); // Inregistrare pt. detectarea evenimentului Game.GAME_OVER game.addEventListener(Game.GAME_OVER, gameOverListener); // Se poate folosi si ('gameOver', gameOverListener), // cu numele evenimentului ca parametru 'gameOver', valoarea data in clasa la GAME_OVER // Functia apelata cand evenimentul e declansat function gameOverListener (evt:Event):void { trace('Jocul s-a terminat!'); }- Observati cum e inregistrat evenimentul creat de clasa Game ( Game.GAME_OVER ), ca oricare alt tip de eveniment din ActionScript, cu "addEventListener()" aplicat la instanta acestei clase. "Game" este evenimentul si "GAME_OVER" numele lui.
De obicei clasa prin care e creat evenimentul nou se foloseste in combinatie cu alta clasa pe care o apeleaza la declansarea evenimentului.
<dl> <dt>HTML</dt> <dd> - Hyper Text Markup Language</dd> <dd> - Limbaj de cod pentru pagini web</dd> </dl>
#id { visibility: hidden; }
document.getElementById("id").onclick = function(){ alert("http://www.MarPlo.net/"); }
if(isset($_REQUEST["id"])) { echo $_REQUEST["id"]; }
I believe in my path. - Eu cred in calea mea.
creer = a crede; camino = cale /drum; iluminaciĆ³n = iluminare