ActionScript 3 - Send events fra dine egne klasser

Kategori: Tips og tricks | Kommentarer (3)
Gemt: 2007-12-13 11:30


Et super hurtigt lille tip: Hvis du har lavet en klasse som extender en allerede eksisterende klasse, eksempelvis Sprite eller Movieclip, så er det super nemt at sende events.

Der hvor du vil starte en event indsætter du bare følgende kode:

dispatchEvent(new Event(Event.COMPLETE));

Her er det en Event.COMPLETE, men man kan naturligvis sende en hvilken som helst eventtype på denne måde.


ActionScript 3 - Objektet der ikke var der, endnu!

Kategori: Tips og tricks | Kommentarer (0)
Gemt: 2007-11-29 11:45


En klassisk metode i ActionScript 2 når man skulle manipulere med objekter i et movieclip var følgende:

MitMC.gotoAndStop("login");
MitMC.Login_txt.text = "Klik for at logge ind";

Men, forsøger du at gøre det i AS3, så får du en fejl, da Login_txt først eksisterer i kodemæssig forstand når det er blevet renderet, det eksisterer ikke blot fordi du er hoppet hen i en frame hvor du ved at det er.

Ved hjælp af eventen RENDER er der dog en måde at gøre noget tilsvarende på:

MitMC.gotoAndStop("login");
MitMC.addEventListener(Event.RENDER, initiateLogin);

function initiateLogin(e:Event) {
MitMC.Login_txt.text = "Klik for at logge ind";
}

Det kræver lidt mere kode end tidligere, men det fungerer fint.

Hvorvidt det så er bad practice eller ej, det vil jeg lade op til andre om at vurdere, men engang imellem er det jo helt okay at hoppe over hvor gærdet er lavest :-)