galvaomcz 0 Denunciar post Postado Fevereiro 11, 2009 Bom dia pessoal, Como eu posso criar um banner no flash e esse banner "puxe" outros banners externos animados em gif, swf ou até mesmo estáticos? Ah e que possa ainda definir um tempo de espera em cada banner voltando para o primeiro ao terminar a ultima exibição? Missão dura neh? Tô precisando mesmo... Valeu Compartilhar este post Link para o post Compartilhar em outros sites
gmcp 0 Denunciar post Postado Fevereiro 16, 2009 primeiro você cria dos layers, um para separar os banners em frames (layer 1) e outro para alguns scripts em especial(layer2). agora você carrega cada um dos banners com um script assim(layer 2, 1º frame): stop(); var carregar:Loader = new Loader(); carregar.load(new URLRequest("seubanner")); depois você cria um keyframe pra cada banner e em cada frame um movie clip, e os scripts(em cada frame): frame1: mcDoFrame1.addChild("bannerDoFrame1"); frame2: mcDoFrame2.addChild("bannerDoFrame2"); e por aí vai... agora você tem que salvar na mesma pasta do swf um txt (que nesse exemplo vai ter o nome duracao.txt) com os tempos de duração em segundos dos banners nesse formato: banner1=10&banner2=5&banner3=15 ... e esse script no layer 2: var url:URLRequest = new URLRequest("duracao.txt"); var textoDuracao:URLLoader = new URLLoader(); textoDuracao.dataFormat = URLLoaderDataFormat.VARIABLES; textoDuracao.load(url); textoDuracao.addEventListener(Event.COMPLETE, lerTextoDuracao); var duracaoBanner1 = 0; var duracaoBanner2 = 0; var duracaoBanner3 = 0; function lerTextoDuracao(e:Event) { duracaoBanner1 = textoDuracao.data.banner1; duracaoBanner2 = textoDuracao.data.banner2; duracaoBanner3 = textoDuracao.data.banner3; (...) } outra vez no layer 2, coloque esse script: var cronometro:Timer = new Timer(1000, 1); cronometro.addEventListener(TimerEvent.TIMER, compararTempo); cronometro.start(); function compararTempo(e:Event) { //banner1: var tempo1 = getTimer(); var tempo1arredondado:uint = tempo1 / 1000; if(duracaoBanner1 == tempo1arredondado){ gotoAndStop("frame do banner 2"); } //banner2: var tempo2 = getTimer(); var tempo2arredondado:uint = tempo2 / 1000; if(duracaoBanner2 == tempo2arredondado - tempo1arredondado){ gotoAndStop("frame do banner 3"); } //banner3: var tempo3 = getTimer(); var tempo3arredondado:uint = tempo3 / 1000; if(duracaoBanner3 == tempo3arredondado - tempo2arredondado - tempo1arredondado){ gotoAndStop("frame do banner 1"); } //(...) } stage.addEventListener(Event.ENTER_FRAME, compararTempo); Acho que é só isso http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif Compartilhar este post Link para o post Compartilhar em outros sites