gbs 0 Denunciar post Postado Março 29, 2009 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
italoborges 0 Denunciar post Postado Março 30, 2009 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