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 :-)