Ninja 0 Denunciar post Postado Abril 18, 2004 Boa noite! Estou tendo algumas dificuldades para trabalhar com LoadMovie e createEmptyMovieClip (novamente!). Fiz uma busca detalhada no forum e encontrei muitos post falando sobre isso, a maioria do prezado fera em Flash Carneirinho! Eis as dúvidas: 1°- Usei aquele esqueminha básico bem citado com os exemplos da suzuki. No primeiro frame do filme coloquei estas ações: _root.createEmptyMovieClip("instancia", true); // true ou i, não entendi o porque disso também! loadMovie("images/foto.jpg", "instancia"); // instancia com ou sem aspas, deu certo igual. Isso até funcionou corretamente. Mas algumas dúvidas ainda: - As imagens puxadas por loadmovie parecem dar uma pequena ''travada'' no primeiro frame, tipo um pisque rápido, ao contrário das imagens que foram importadas para a biblioteca, que aparecem estáticas desde o início. Porque isso acontece?! - E como eu faço para animar estas imagens puxadas de fora? Já percebi que não tem como animar o quadro com a action! :P Para interagir a imagem, só por actionscript também?! 2°- Tentando interagir a imagem puxada ainda, criei outro sistema. Fiz um clipe de filme (simbolo1) e o instanciei no palco (sb1). Então, adaptei as ações anteriores para dentro desse clipe de filme, com o intuido de interagir a imagem usando o mesmo. Na primeira ação do clipe de filme coloquei estas ações: _root.sb1.createEmptyMovieClip("instanciafantasma", true); loadMovie("images/foto.jpg", "_root.sb1"); Esse funcionou 'parcialmente', mas eis as dúvidas pendentes: - Se o clipe de filme (simbolo1, com instancia de sb1) com as ações dentro, ocupar somente um quadro na linha de tempo principal, a imagem não aparece no SWF. Mas se ocupar mais de um quadro, dez por exemplo, aparece do segundo em diante, ficando um ''furo'' no primeiro. Porque isso acontece?! - E sobre o posicionamento. Percebi que quando é colocado os comandos de _x, _y, _xscale, _yscale, etc, não é possível interagir a imagem (animá-la!). Então tudo só via actionscript, nessas condições?! - E outra. Qual a melhor maneira de usar imagens externas assim, interagí-las, usar mais de uma vez, etc,?! Carneirinho! Outros feras! Aguardo ajudas! Desde já agreço pela atenção de todos! Saudações ninjutsas! ;) http://forum.imasters.com.br/public/style_emoticons/default/ninja.gif Compartilhar este post Link para o post Compartilhar em outros sites
carneirinho 7 Denunciar post Postado Abril 18, 2004 Oi Ninja, sobre as imagens darem uma piscada, isso não é comum, pois eu já fiz vários loadmovies com imagens, e com apenas um frame e elas carregam normal, é claro que elas não vão carregar na mesma velocidade de uma imagem da biblioteca, porque o filme do flash é executado quando a imagem já está carregada, no caso do loadmovie, o filme é executado pra depois a ação ser executada, dai se comunicar com a imagem de fora e fazer como se fosse um download dela pra dentro do arquivo. então nesse caso, você faria 2 downloads, o do swf e da imagem, sendo que quando a imagem já está na biblioteca ele faz apenas dp swf. O Loadmovie para imagens é legal você usar, quando você vai fazer um album de fotos, ou aplicações que levem mais de 5 fotos para serem carregadas, pois se você tem 5 imagens na biblioteca e quer só mostrar a primeira, ele vai esperar o filme carregar inteiro com as 5 imagens só para mostrar a primeira, enquanto por loadmovie, você carregará apenas as que forem visualizadas. Portanto, na minha opnião é besteira você fazer uam animação numa imagem que é puxada smente ela por loadmovie, mas se você quiser vou te explicar melhor o código. Esse tal i, foi uma variavel que criamos numa duvida aqui, pra um cara que queria puxar mais de uma imagem em lugares diferentes, ali ela vai o depht do movieclip (nivel), porisso é criado assim: _root.createEmptyMovieClip("instancia", 1); O movieclip com o nivel maior, ficará por cima de todos, então você pode interpretar isso como se fosse layers(camadas) se você carregar 3 imagens, tem como você controlar qual ficará por cima de qual pelos niveis, por exemplo a 3 ficará por cima da 2, e a 2 por cima da 1. no caso de usarmos o i é se declarar assim numa animação: i = 1 _root.createEmptyMovieClip("instancia", i); então no caso acima seria a mesma coisa que eu colocar: _root.createEmptyMovieClip("instancia", 1); Só que trabalhando com um numero maior de fotos, eu posso carregar várias com a mesma ação, apenas alterando no fim do código i++ o que vale o mesmo que i + 1, então a próxima carregaria no nivel 2, entendeu o porque do i agora? Quanto ao _x e _y eles funcionam normalmente, agora quanto a width, height, _xscale e _yscale, dá pra entender de porque não funcionar, pois o createEmptyMovieClip ele cria um movieclip vazio no palco, e um movieclip vazio sem conteudo, não tem nada, por exemplo se você tem um movieclip vazio e dizer assim pra ele que o movieclip._xscale = 400 ele vai dar 400%de largura a um movieclip que não tem largura, então não vai alterar nada mesmo, dai ou você cria um movieclip na mão, e coloca dentro dele um quadrado branco ou transparente pra ele ter massa, ou você terá que criar um movieclip dentro de outro movieclip, pro primeiro movieclip ganhar as propriedades de widrth, height, _xscale e _yscale, faça assim pra testar: _root.createEmptyMovieClip('teste',1); // cria um movieclip com a instancia teste teste.createEmptyMovieClip('l',1); // dentro de teste ele cria outra instancia com nome l teste.l.loadMovie('urlquevcquercarregar.swf); // carrega um filme dentro de l que está dentro de teste teste.onEnterFrame = function () { // cria uma função assim que o frame do teste é executado teste._width = 255; // acerta o valor de width de teste para 255 pixel teste._height = 255; // acerta o valor de height de teste para 225 pixel } O mesmo você poderá usar para _xscale, _yscale, _rotation, _alpha etc. Mas para pequenas coisas assim eu preferiria fazer na mão mesmo, mas espero ter tirado boa parte das suas duvidas. abraço, Carneirinho Compartilhar este post Link para o post Compartilhar em outros sites