Riba 0 Denunciar post Postado Junho 4, 2009 Oi Galera, erro esquisito aqui. Estou usando um menu em AS3 que funciona q é uma beleza. Mas só no Firefox acontece o bug: Abrimos a pagina e tudo certo, menu funcionando, dai você desce a página TODA usando a barra de rolagem naturalmente, para, sobre novamente com a barra de rolagem e ao passar o mouse sobre o menu o Flash simplesmente parece estar morto. É morto, pq não executa nada do que executava a alguns segudos. você pode clicar dai ele volta, mas não é o certo, o certo é só de passar o mouse por cima ativar. Alguém já viu algo parecdido no flash? Me ajudem por favor pq não entendo onde está esse pequeno conflito. O menu está nessa página https://www.rumo.com.br/sistema/home.asp?IDLoja=10249 Obrigado! Compartilhar este post Link para o post Compartilhar em outros sites
hargon 64 Denunciar post Postado Junho 4, 2009 Sugiro alterar o SCRIPT que carrega o Flash. Ele fica "morto" mas se clicar volta. Provavelmente está sendo desativado. Compartilhar este post Link para o post Compartilhar em outros sites
Thiago de Oliveira Cruz 21 Denunciar post Postado Junho 5, 2009 Verfique se o seu addEventListener ta funcionando corretamente... se você não ta mundando nada ao click do mouse Abraços Compartilhar este post Link para o post Compartilhar em outros sites
Riba 0 Denunciar post Postado Junho 5, 2009 Vou tentar as duas opção amanhã de manhã, retorno se deu ou não. Compartilhar este post Link para o post Compartilhar em outros sites
Riba 0 Denunciar post Postado Junho 5, 2009 Descobri que o sistema do FastCommerce que usamos para hospedar o site não permite o enviou de arquivos .AS Os dois arquivos são esses > O .AS package { // Import Flash classes import flash.display.*; import flash.events.*; public class ProximityMenu extends MovieClip { private var ia:Array; public function ProximityMenu():void { ia = [im1, im2, im3, im4, im5, im6, im7, im8, im9, im10, im11, im12, im13, im14, im15, im16, im17, im18, im19, im20, im21, im22, im23, im24]; for(var i:uint=0; i<24; i++) { ia[i].buttonMode = true; ia[i].ox = ia[i].x; ia[i].oy = ia[i].y; ia[i].tx = ia[i].ox; ia[i].ty = ia[i].oy; ia[i].addEventListener(MouseEvent.ROLL_OVER, onOver); } stage.addEventListener(Event.ENTER_FRAME, onMove); } private function onOver(e:MouseEvent):void { e.target.gotoAndPlay("over"); addChild(MovieClip(e.target)); } private function onMove(e:Event):void { for(var i:uint=0; i<24; i++) { var dist:Number = getDist(mouseX, mouseY, ia[i].ox, ia[i].oy); if(dist < 30) { ia[i].tx = mouseX; ia[i].ty = mouseY; } else { ia[i].tx = ia[i].ox; ia[i].ty = ia[i].oy; } ia[i].x += Math.round((ia[i].tx - ia[i].x) * 0.5); ia[i].y += Math.round((ia[i].ty - ia[i].y) * 0.5); } } private function getDist(x1:Number, y1:Number, x2:Number, y2:Number):Number { var dx:Number = x2 - x1; var dy:Number = y2 - y1; return Math.sqrt(dx*dx + dy*dy); } } } e dentro do SWF, o código principal em cada botão é esse > button1.addEventListener(MouseEvent.CLICK,myButtonFunction); function myButtonFunction(event: MouseEvent) { var request = new URLRequest("http://www.emporiumexpress.com.br"); navigateToURL(request, "_self"); } Compartilhar este post Link para o post Compartilhar em outros sites
Riba 0 Denunciar post Postado Junho 5, 2009 Achei uma coisa bacana mas preciso entender melhor, pois sou novo em AS3 http://www.adobe.com/devnet/actionscript/a...ing_as3_03.html Sobre como funciona Root, Stage e Box. E reparei um detalhe, de fato o problema acontece quando se desce a página até o fim e volta até a posição inicial onde ele começou a "funcionar pra valer" na pagina, ou seja quando abriu a página. Estranho pra mim mas no texto no link relata algo parecido. O q acham? Compartilhar este post Link para o post Compartilhar em outros sites
Thiago de Oliveira Cruz 21 Denunciar post Postado Junho 5, 2009 Então coloque seu action dentro do proprio arquivo swf ;) Abraços Compartilhar este post Link para o post Compartilhar em outros sites
Riba 0 Denunciar post Postado Junho 5, 2009 Então coloque seu action dentro do proprio arquivo swf ;) Abraços Como tiro exatamente do arquivo externo para o próprio arquivo swf? Como tirar do Package e adaptar? Compartilhar este post Link para o post Compartilhar em outros sites
Thiago de Oliveira Cruz 21 Denunciar post Postado Junho 5, 2009 É simples Tira todos os public e package e private das funçoes etc e joga no proprio flash que deve funcionar ;) Abraços Compartilhar este post Link para o post Compartilhar em outros sites
Riba 0 Denunciar post Postado Junho 9, 2009 Não funcionou...tirei os "3 Ps" mas deu erros mil. Compartilhar este post Link para o post Compartilhar em outros sites
Thiago de Oliveira Cruz 21 Denunciar post Postado Junho 9, 2009 Seu código: // Import Flash classes import flash.display.*; import flash.events.*; var ia:Array; function ProximityMenu():void{ ia = [im1, im2, im3, im4, im5, im6, im7, im8, im9, im10, im11, im12, im13, im14, im15, im16, im17, im18, im19, im20, im21, im22, im23, im24]; for(var i:uint=0; i<24; i++) { ia[i].buttonMode = true; ia[i].ox = ia[i].x; ia[i].oy = ia[i].y; ia[i].tx = ia[i].ox; ia[i].ty = ia[i].oy; ia[i].addEventListener(MouseEvent.ROLL_OVER, onOver); } stage.addEventListener(Event.ENTER_FRAME, onMove); } function onOver(e:MouseEvent):void { e.target.gotoAndPlay("over"); addChild(MovieClip(e.target)); } function onMove(e:Event):void { for(var i:uint=0; i<24; i++) { var dist:Number = getDist(mouseX, mouseY, ia[i].ox, ia[i].oy); if(dist < 30) { ia[i].tx = mouseX; ia[i].ty = mouseY; } else { ia[i].tx = ia[i].ox; ia[i].ty = ia[i].oy; } ia[i].x += Math.round((ia[i].tx - ia[i].x) * 0.5); ia[i].y += Math.round((ia[i].ty - ia[i].y) * 0.5); } } function getDist(x1:Number, y1:Number, x2:Number, y2:Number):Number { var dx:Number = x2 - x1; var dy:Number = y2 - y1; return Math.sqrt(dx*dx + dy*dy); } O unico erro que dá e das im1 etc que acredito que seja das instancias das imagens ;) De resto da tudo certo. Abraços Compartilhar este post Link para o post Compartilhar em outros sites