Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Andre Cocuroci

[Resolvido] Evento ADDED_TO_STAGE

Recommended Posts

Estava lendo que esse evento quebra OOP e com isso não consigo ver alguma funcionalidade para esse evento, porém vários blogs indicam ele para não dar erro em classes como tentar pegar o stage, queria saber quando usar ou não.

Compartilhar este post


Link para o post
Compartilhar em outros sites

veja bem, uma coisa não tem nada a ver com a outra, dizer que esse evento "quebra POO" não faz sentido

 

de fato, no começo é chato lidar com ele, pois algumas propriedades só ficam acessíveis depois que o evento foi disparado, mas é só questão de adaptar a lógica do programa para ele

 

é provável que quem disse isso, acabou iniciando um projeto sem saber dessa particularidade do AS3, e por causa disso teve que mudar o código, amaldiçoando o ADDED_TO_STAGE no processo(eu tb já passei por isso)

 

o segredo é não colocar códigos que façam referencia ao stage no construtor da classe, ao invés disso inserir nela um método init(), onde a partir dele você faz as ações que precisam acessar o stage

 

 

public function init(){

  if(stage){
     fazAsCoisaComStage()
    
  }else{
     this.addEventListenner(Event.ADDED_TO_STAGE, fazAsCoisaComStage)
  }

}
private function fazAsCoisaComStage(e:Event = null){
 // agora pode usar o stage


   var evt:Event  = new Event  ("INICIOU_ALGO");
   dispatchEvent(evt)
 
}

 

pronto, problema resolvido, você instancia a classe e chama o obj.init(), e ainda tem um evento que avisa quando o objeto foi iniciado mesmo, para lidar com ele

 

isso é uma maneira de lidar com ele, não sei se é a mais adequada a todos os momentos, mas vale testar

 

 

 

[]´s

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.