che sto creando il mio primo AS3 con FlashDevelop e non capisco il significato delle istruzioni nel costruttore:Che cosa significa "if (stage) init();" significa in ActionScript?
package
{
import flash.display.Sprite;
import flash.events.Event;
public class Main extends Sprite
{
public function Main():void
{
if (stage) init();
else addEventListener(Event.ADDED_TO_STAGE, init);
}
private function init(e:Event = null):void
{
removeEventListener(Event.ADDED_TO_STAGE, init);
// entry point
}
}
}
Cosa if (stage) init();
significa? Che cos'è Event.ADDED_TO_STAGE? Perché rimuovere l'ascoltatore in init()
?
Sono sorpreso di non vedere ancora qui le risposte, quindi mentre stai aspettando: ottieni una lettura interessante se cerchi "Event.ADDED_TO_STAGE" che sospetto risponderà alla tua domanda. (Non saprei per certo, non lavoro in ActionScript, ecco perché questa non è una risposta, ma i link sembrano piuttosto mirati.) Mi sembra che l'effetto aggregato sia quello di garantire che 'init 'è chiamato solo quando il tuo componente è su" stage ": se lo sei già, lo chiami immediatamente. Se non lo sei, colleghi un ascoltatore per l'evento che spara quando sei sul palco (e poi rimuovilo quando viene chiamato). –
Solo una risposta, ma una grande :) – user310291