Ir para conteúdo

POWERED BY:

Arquivado

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

gbs

Acessar Biblioteca com uma Classe externa.

Recommended Posts

Tenho um arquivo Flash vazio, apenas com um MovieClip teste na biblioteca, com Linkage Class TesteMC.

 

Tenho um arquivo Classe.as com o seguinte código:

 

package 
{
	import flash.display.MovieClip;
	public class  Classe extends MovieClip
	{
		public function Classe()
		{
			trace("Classe Construída")
			var mc:TesteMC = new TesteMC();
			addChild(mc);
		}
	}
}

Se defino no Document class do arquivo: Classe, ótimo, funciona o trace e o addChild.

 

Porém eu não quero ter que definir tal classe como a principal do documento, preciso que ela possa ser importada em qualqer arquivo sem que a classe principal precise ser alterada...

 

Neste caso eu teria que importar a classe com tal código em algum frame:

 

import Classe;
new Classe();

O trace funciona, mas o addChild não funciona, nenhum erro é exibido, simplesmente não consigo acessar os elementos da biblioteca e adicioná-los no palco, já fiz inúmeros testes e tentativas e nada...

 

Horas de buscas e nehuma solução...

 

Será que tornaram uma coisa tão simples e óbvia assim impossível no ActionScript 3?

 

Eu não posso acessar a biblioteca a partir de uma classe externa?

 

Se alguém puder ajudar, fico no aguardo...

 

abraços! http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

E ai Guilherme!

 

Então, no As3 para você ter acesso as propriedades do stage e também a biblioteca, você precisa ter certeza que sua classe foi adicionada no stage.

Para isso basta você adicionar ela com addChild também.

 

Exemplo:

 

import Classe;
var cl:Classe = new Classe();
addChild(cl);

Agora você vai ver que ele vai achar o movieClip na library.

 

Outra coisa que você pode usar é o evento Event.ADDED_TO_STAGE, que verifica quando a classe foi adicionada no stage.

 

Abraço

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.