DanielD2 0 Denunciar post Postado Outubro 30, 2009 Boa tarde a todos! Bom mais uma vez tenho um problema e venho recorrer a vocês, aparentemente deve ser bem besta, mas infelizmente não tá dando certo comigo. Criei um movieclip na stage e adcionei a ele outro movieclip manualmente, bom dentro desse segundo movieclip tenho uma animação e no final dessa animação preciso mandar um comando chamando uma funcão que irá montar um menu, no as2 é assim: this._parent._parent.funcao(); agora no as3 eu tentei a mesma coisa e não vai. this.parent.parent.funcao(); //--> e também tentei root.funcao(); Dá o seguinte erro: 1061: Call to a possibly undefined method montaMenu through a reference with static type flash.display:DisplayObjectContainer. E ta instanciado certinho, mais não vai, provalvelmente não é assim mais né? valew Pessoall Compartilhar este post Link para o post Compartilhar em outros sites
brunobispo 20 Denunciar post Postado Outubro 30, 2009 Object(root).funcao(); //ou NomeDaSuaClasseMain(root).funcao(); Compartilhar este post Link para o post Compartilhar em outros sites
DanielD2 0 Denunciar post Postado Outubro 31, 2009 Object(root).funcao(); //ou NomeDaSuaClasseMain(root).funcao(); Bruno valeu, deu certo como sempre... Mas eu tenho uma dúvida por que chamar a classe "MÃE", para um metodo tão simples, você sabe porque ou já ouviu falar? valeu cara http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif Compartilhar este post Link para o post Compartilhar em outros sites
brunobispo 20 Denunciar post Postado Outubro 31, 2009 Object(root).funcao(); //ou NomeDaSuaClasseMain(root).funcao(); Bruno valeu, deu certo como sempre... Mas eu tenho uma dúvida por que chamar a classe "MÃE", para um metodo tão simples, você sabe porque ou já ouviu falar? valeu cara http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif A classe Main (Principal) é a classe do seu SWF. Nela você define os métodos e as propridades do seu filme. Os MovieClips que você usa no seu palco, por exemplo, também são "propriedades" da sua classe principal. Quando você acessa a propriedade root, você acessa um descendente de DisplayObject e que normalmente é MovieClip. Teste trace(root) no lugar do código que te passei. Se você tenta chamar seu método diretamente, vai ter um erro: funcao não é um método de MovieClip. E de fato não é. Esse método é da sua classe Main. Entendeu mais ou menos? Compartilhar este post Link para o post Compartilhar em outros sites
Mário Pácio 0 Denunciar post Postado Agosto 19, 2010 Nao consigo de jeito nenhum fazer a chamada no parent(root) da minha função... To até nervoso, nao vai... Li em todo lugar, sempre da erro :@ Se alguem puder ajudar..]Valeu Compartilhar este post Link para o post Compartilhar em outros sites
Andre Cocuroci 0 Denunciar post Postado Agosto 19, 2010 Outra maneira é utilizar Eventos para chamar essa função no Main. Compartilhar este post Link para o post Compartilhar em outros sites
kaarl_ 0 Denunciar post Postado Agosto 20, 2010 posta o Código Mario =) Compartilhar este post Link para o post Compartilhar em outros sites
Elektra 102 Denunciar post Postado Agosto 20, 2010 Nao consigo de jeito nenhum fazer a chamada no parent(root) da minha função... To até nervoso, nao vai... Li em todo lugar, sempre da erro :@ Se alguem puder ajudar..]Valeu Olá Mário Pácio. Fica legal você abrir um tópico próprio e postar o código que está usando. Basta acionar o ícone < > e colar o action entre as tags code e /code. Abraços Compartilhar este post Link para o post Compartilhar em outros sites
Foxn 3 Denunciar post Postado Agosto 20, 2010 Olá pessoal. A grande vantagem de usar o root no Flash era fazer ou manipular algo de qualquer lugar não importa aonde. Sendo assim, usar o parent mesmo que funcionasse, acabaria com essa praticidade, por isso acesse o root assim: MovieClip(root).funcao(); Na verdade, mesmo que você queira usar o parent também tem de fazer isso: MovieClip(parent).funcao(); Att, Compartilhar este post Link para o post Compartilhar em outros sites
Elektra 102 Denunciar post Postado Agosto 21, 2010 Olá pessoal. A grande vantagem de usar o root no Flash era fazer ou manipular algo de qualquer lugar não importa aonde. Sendo assim, usar o parent mesmo que funcionasse, acabaria com essa praticidade, por isso acesse o root assim: MovieClip(root).funcao(); Na verdade, mesmo que você queira usar o parent também tem de fazer isso: MovieClip(parent).funcao(); Att, Querido amigo Foxn, muito obrigada http://forum.imasters.com.br/public/style_emoticons/default/clap.gif Compartilhar este post Link para o post Compartilhar em outros sites
brunobispo 20 Denunciar post Postado Agosto 23, 2010 Olá pessoal. A grande vantagem de usar o root no Flash era fazer ou manipular algo de qualquer lugar não importa aonde. Sendo assim, usar o parent mesmo que funcionasse, acabaria com essa praticidade, por isso acesse o root assim: MovieClip(root).funcao(); Na verdade, mesmo que você queira usar o parent também tem de fazer isso: MovieClip(parent).funcao(); Att, Vale lembrar que, programando em OOP, você não deve precisar disso. Um objeto não deve depender de outro que ele nem sabe que existe. Já que queremos reutilizar nossos códigos, não podemos esperar que o objeto retornado pela propriedade root tenha sempre os métodos esperados. Compartilhar este post Link para o post Compartilhar em outros sites