Elektra 102 Denunciar post Postado Maio 28, 2010 Se o frame é = "x" (último) --> stop(); Se clicar no link "html" --> gotoAndPlay(1); Preciso de uma idéia de como interagir o link "repetir animação" na página html para dar um "play" na animação do banner. Penso que isso seja feito via JavaScript, mas não tenho idéia como declarar. 6ª feira é minha útima aula de lógica, quero aproveitar o auxílio do instrutor, mas devo considerar a necessidade dos outros alunos, tem muita coisa que eu quero saber como funciona. Alguma dica pode facilitar muito. Abraços Compartilhar este post Link para o post Compartilhar em outros sites
Eder Fortunato 15 Denunciar post Postado Maio 28, 2010 Olá Elektra Tem muitas formas de se fazer isso, acredito que a melhor é usando ExternalInterface um exemplo simples, no flash você cria a função que dá o play, e fala qual função do javascript ele esta fazendo referencia: import flash.external.ExternalInterface; ExternalInterface.addCallback("iniciarAnimacao", darPlay); function darPlay():void { gotoAndPlay(1); } agora no html, você cria a função javascript: <script language="JavaScript"> function thisMovie(movieName) { if (navigator.appName.indexOf("Microsoft") != -1) { return window[movieName]; } else { return document[movieName]; } } function clicouPlay() { thisMovie("id_do_swf_no_html").iniciarAnimacao(); } </script> <input type="button" value="PLAY" onclick="clicouPlay();" /> eu não testei o codigo, mas basicamente é isso ai teste para ver, qualquer coisa é só falar []´s Compartilhar este post Link para o post Compartilhar em outros sites
Elektra 102 Denunciar post Postado Maio 28, 2010 Obrigada Eder. Perguntei ao instrutor e ele sugeriu usar uma função que execute um "refresh" no conteúdo da div onde está o swf. Como ao carregar a página html a anima executa e para, faz sentido, ou seja, ao atualizar a div haveria a repetição. Isso não foi visto em aula, apenas comentado. Se souber me indicar qual o "termo" é usado no JavaScript para essa finalidade vou pesquisar para tentar fazer funcionar. É uma forma simples para quem está começando. Certamente não é a maneira mais adequada, mas serve para exercício. Ainda não conheço o uso do ExternalInterface no AS3(por enquanto). O que desejo realmente é compreender o que estou fazendo e tentar criar algo ao meu alcance, o resto eu ainda vou aprender. Mesmo assim vou tentar usar o código que você sugeriu. Valeu mesmo. Abraços Compartilhar este post Link para o post Compartilhar em outros sites
Eder Fortunato 15 Denunciar post Postado Maio 29, 2010 eu até entendi o que o seu instrutor disse, mas não existiria essa opção de dar um "refresh" na DIV o máximo que poderia fazer, seria re-carregar o swf, o que a meu ver não é uma boa opção, seria melhor fazer uma função javascript. chamar uma outra dentro do flash, e manda-lo para o primeiro frame, como mostrei esse seria um caminho melhor []´s Compartilhar este post Link para o post Compartilhar em outros sites
Elektra 102 Denunciar post Postado Junho 16, 2010 Pois é, meu instrutor não entende nada de Flash, eu que fiquei atormentando a vida dele. (mais um com boas chances de fugir, rsrsrs) Vou testar o que você mencionou, aos poucos eu aprendo como funciona. Dou um retorno. Obrigada Eder ^_^ Eder, eu tentei mas não consegui fazer funcionar (testei no server). Fui hoje ver um livro de JavaScript (novatec) na Saraiva, em falta, vou ver em outros locais, ou encomendar. Esta semana tenho aula de modelagem BD SQL, só depois disso vou poder me dedicar a compreender o uso do JavaScript. Tenho 1 mês de intervalo até encarar o AS3. Assim que possível, volto para informar os resultados. Realmente quero aprender isso (e muito mais). Obrigada pela atenção. Abraços Oi Eder, ainda não sei onde estou errando, testei várias vezes no server. No swf, inseri no último frame (penso que o erro esteja aqui, no tipo de anima que estou usando): stop(); import flash.external.ExternalInterface; ExternalInterface.addCallback("iniciarAnimacao", darPlay); function darPlay():void { gotoAndPlay(1); } Aproveitei uma anima simples que eu tinha pronta --> http://img443.imageshack.us/img443/226/flashxn.jpg No html, na tag head inseri o JavaScript, usei o FlashID que defini no painel properties para a div absoluta (usada para teste) --> "banner" (idem ao tittle - ao inserir o swf). Foi orientação do instrutor, eu perguntei (mas ele nunca viu nada semelhante ao que desejo fazer, isso era comum no Yahoo, não tinha um exemplo atual para mostrar). Também testei com "apDiv1". http://img149.imageshack.us/img149/7726/61839094.jpg <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>repetir_anima</title> <script language="Javascript"> function thisMovie(movieName) { if (navigator.appName.indexOf("Microsoft") != -1) { return window[movieName]; } else { return document[movieName]; } } function clicouPlay() { thisMovie("banner").iniciarAnimacao(); } </script> <style type="text/css"> <!-- body { background-color: #400020; } #apDiv1 { position:absolute; left:74px; top:19px; width:513px; height:327px; z-index:1; } E em body, o button: <input type="button" value="PLAY" onclick="clicouPlay();" /> Aqui o exercício publicado no server: Clique aqui Agradeço muito se puder me auxiliar. Abraços Eder, novidades, está funcionando só no IE8 (mesmo assim adorei :D ). Teste no server --> Clique aqui Eu tinha testado apenas no Firefox (no momento estou sem o Safari, Opera e Chrome no PC). Tem como rodar também nos outros navegadores? Abraços Compartilhar este post Link para o post Compartilhar em outros sites
Eder Fortunato 15 Denunciar post Postado Junho 17, 2010 o problema desse ser esse mesmo que você disse, todo o código no ultimo frame, a parte em javascript esta correto testa colocar todo o código no 1º frame, para ele registrar o ExternalInterface []´s Compartilhar este post Link para o post Compartilhar em outros sites
Elektra 102 Denunciar post Postado Junho 17, 2010 Obrigada, vou testar com outro arquivo (+ decente). ;) Abraços Compartilhar este post Link para o post Compartilhar em outros sites
Elektra 102 Denunciar post Postado Junho 18, 2010 Eder, só funciona no IE8 com todo o action no último frame, conforme publiquei o link. Isso é que me deixou em dúvida, se a anima fosse inadequada não funcionaria em lugar nenhum, ou algum recurso é incompatível com o Firefox. Testei conforme você sugeriu, com outros arquivos e de todas as formas que me ocorreu, mas aí não responde em nenhum navegador. Se puder me dar uma idéia de outras possilidades, mesmo que eu ainda não saiba, vou pesquisar a respeito (tenho muito o que aprender). Obrigada pela atenção Abraços Compartilhar este post Link para o post Compartilhar em outros sites
Eder Fortunato 15 Denunciar post Postado Junho 22, 2010 pensou que eu tinha esquecido né :D, só estava travado com umas coisas aqui ok, eu fiz uns testes, e vi que o código do flash estar no primeiro ou no ultimo frame não faz diferença, só por uma questão de organização, convêm deixa no primeiro já o problema no firefox, é que ele não encontrava o swf, pois ele não tinha o atributo "name" faça esse teste, no seu html, nessa parte, acrescente ele: ----------------------- <param name="expressinstall" value="../Scripts/expressInstall.swf" /> <!-- Next object tag is for non-IE browsers. So hide it from IE using IECC. --> <!--[if !IE]>--> <object type="application/x-shockwave-flash" data="sacks.swf" width="510" height="325" name="banner"> <!--<![endif]--> <param name="quality" value="high" /> ------------------- depois rode no firefox, ele vai funcionar! eu costumo usar o swfobject de outra maneira, e nunca tive problemas, use ele assim: <div id="apDiv1"> <div id="banner"></div> </div> <script type="text/javascript"> var flashvars = false; var params = false; var attributes = { wmode: "transparent" }; swfobject.embedSWF("sacks.swf", "banner", "510", "325", "9.0.0", flashvars, params, attributes); </script> acredito que seja melhor, faça o teste para ver []´s Compartilhar este post Link para o post Compartilhar em outros sites
Elektra 102 Denunciar post Postado Junho 22, 2010 Muito obrigada pela atenção Eder. :D Só penso bem de você (eu não sou doida de pensar o contrário). Andei pesquisando muito sobre lighbox/shadowbox, e li algo sobre o ExternalInterface dar galho no FF (não lembrei de anotar o local). Cada local mostrava a coisa de um jeito, fica difícil pra quem não tem conhecimento. E nada de funfar, rsrssss. Foi legal que aprendi a liberar no site da Adode um direitório do PC para poder testar o JavaScript sem a necessidade de publicar. Valeu mesmo, dou um retorno em breve. Abraços Compartilhar este post Link para o post Compartilhar em outros sites
Elektra 102 Denunciar post Postado Junho 23, 2010 http://forum.imasters.com.br/public/style_emoticons/default/clap.gif ... êeeee ... feliz, muito feliz ... deu certo!!! Clique aqui Muito obrigada querido amigo, só alguém muito generoso para se ocupar com um desejo tão insignificante. Diga-se, não tão simples pra quem não sabe quase nada (mas deseja com todas as forças da alma aprender). Consegui adquirir o livro de JavaScript e vou estudar. Para contribuir, onde aprendi a liberar o JS para testes no PC --> http://blog.ericksouza.com/122/ Grande abraço Eder. Tudo de bom pra você. ps: novas emoções em breve, hahahhhhh (me aguarde) :lol: Compartilhar este post Link para o post Compartilhar em outros sites