Flash Gordon Posted April 19, 2013 at 09:38 AM Report #503946 Posted April 19, 2013 at 09:38 AM Boa tarde ... recentemente tive que fazer um site em flash e deparei-me com uma dúvida que não consigo resolver pois não entendo praticamente NADA de Flash..muito menos de AS3 daí o meu pedido de ajuda e desde já o meu obrigado. A navegação no site, isto é, o local onde consultamos os conteudos em texto, são na realidade movie clipes com recurso a shape tween que se expandem quando fazemos hover com o rato. O site é bem simples... Na Class Main tenho o seguinte código base para um movie clip: package { import flash.display.MovieClip; import flash.events.MouseEvent; public class Main extends MovieClip { public function Main() { botao1.addEventListener(MouseEvent.MOUSE_OVER, fnOver); botao1.addEventListener(MouseEvent.MOUSE_OUT, fnOut); } function fnOver (objecto:MouseEvent){ botao1.gotoAndPlay(2); } function fnOut (objecto:MouseEvent){ botao1.gotoAndPlay(11); } } } Na navegação tenho 3 movie clipes com conteudos. O código acima com um movie funciona lindamente mas quando adiciono os outros 2 clipes a este código nada feito...... o que estarei a fazer mal? Terei que criar um ficheiro .as para cada movieclip ?Já googlei e não encontrei nada que me ajudasse! Agradeço desde já toda a atenção e ajuda que me possam prestar
clera Posted April 19, 2013 at 11:45 AM Report #503968 Posted April 19, 2013 at 11:45 AM (edited) boas, claramente não tens de fazer um .as para cada movieclip, tens é de ter um botao para cada noticia e as respectivas funções ou usar as mesmas funções mas lendo o objecto pelo qual foi chamado. package { import flash.display.MovieClip; import flash.events.MouseEvent; public class Main extends MovieClip { public function Main() { botao1.addEventListener(MouseEvent.MOUSE_OVER, fnOver); botao1.addEventListener(MouseEvent.MOUSE_OUT, fnOut); botao2.addEventListener(MouseEvent.MOUSE_OVER, fnOver); botao2.addEventListener(MouseEvent.MOUSE_OUT, fnOut); botao3.addEventListener(MouseEvent.MOUSE_OVER, fnOver); botao3.addEventListener(MouseEvent.MOUSE_OUT, fnOut); } function fnOver(evt:MouseEvent) { MovieClip(getChildByName(evt.target.name)).gotoAndPlay(2); } function fnOut(evt:MouseEvent) { MovieClip(getChildByName(evt.target.name)).gotoAndPlay(11); } } } Edited April 19, 2013 at 11:45 AM by clera
Flash Gordon Posted April 19, 2013 at 12:52 PM Author Report #503985 Posted April 19, 2013 at 12:52 PM Brutal! Funciona ás mil maravilhas... Sou mesmo um maçarico em AS e Flash 😞 Já tinha tentado (mais ou menos) isso mas não tinha acrescentado estas linhas... MovieClip(getChildByName(evt.target.name)).gotoAndPlay daí não estar a resultar! Obrigado pelo teu tempo e pela ajuda! Abr
PTutor Posted May 29, 2013 at 10:13 AM Report #509557 Posted May 29, 2013 at 10:13 AM (edited) Uma das optimizações que se pode fazer neste código é substituir MovieClip(getChildByName(evt.target.name)) por MovieClip(evt.target) Edited August 15, 2013 at 05:23 PM by PTutor A autoridade em Flex/Actionscript
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now