Luan Kosaka 0 Denunciar post Postado Junho 19, 2010 Olá pessoal, estou tentando fazer um portfólio simples porém estou tendo problema para fechar os swfs externos quando clico em um dos menus. ATÉ ONDE CHEGUEI: Ao clicar em um dos menus(about,portfólio e contact) irá abrir um movieClip onde dentro dele será adicionado o swf externo. PROBLEMA: o objetivo é excluir o swf que foi adicionado no movieClip e depois excluir o mesmo do stage. OBSERVAÇÃO: para fechar o movieClip é só clicar no stage PARA AQUELES QUE DESEJAM VER O CODIGO É POSSIVEL FAZER O DOWNLOAD ATRAVEZ DESSE LINK, NÃO SE PREOCUPEM Q NÃO TEM VIRUS www.luankosaka.com.br/lab/flash/index.rar O CODIGO ESTA AKI package { import flash.display.*; import flash.events.*; import flash.net.URLRequest; import ViewPage; public class Menu extends MovieClip { // um movieClipe para adicionar swf externo(about,portfolio,contact) var viewPage:ViewPage = new ViewPage(); public var menuAbout:MovieClip; public var menuPortfolio:MovieClip; public var menuContact:MovieClip; public function Menu() { menuAbout.addEventListener(MouseEvent.ROLL_OVER, mOver); menuAbout.addEventListener(MouseEvent.ROLL_OUT, mOut); menuAbout.addEventListener(MouseEvent.CLICK, mClick); menuPortfolio.addEventListener(MouseEvent.ROLL_OVER, mOver); menuPortfolio.addEventListener(MouseEvent.ROLL_OUT, mOut); menuPortfolio.addEventListener(MouseEvent.CLICK, mClick); menuContact.addEventListener(MouseEvent.ROLL_OVER, mOver); menuContact.addEventListener(MouseEvent.ROLL_OUT, mOut); menuContact.addEventListener(MouseEvent.CLICK, mClick); menuAbout.buttonMode = menuPortfolio.buttonMode = menuContact.buttonMode = true; } private function mClick(e:MouseEvent):void{ loadPage(e.currentTarget.name); } private function mOver(e:MouseEvent):void{ e.currentTarget.gotoAndPlay("out"); } private function mOut(e:MouseEvent):void{ e.currentTarget.gotoAndPlay("over"); } private function loadPage(e:String){ var loader:Loader = new Loader(); var req:URLRequest = new URLRequest(); if(e == "menuAbout") req.url = "about.swf"; if(e == "menuPortfolio") req.url = "portfolio.swf"; if(e == "menuContact") req.url = "contact.swf"; viewPage.x = viewPage.y = 0; stage.addChild(viewPage); loader.load(req); viewPage.addChild(loader); viewPage.addEventListener(MouseEvent.CLICK, fechaFrame); } private function fechaFrame(e:MouseEvent) { stage.removeChild(viewPage); } } } Compartilhar este post Link para o post Compartilhar em outros sites
Eder Fortunato 15 Denunciar post Postado Junho 21, 2010 faça algo assim: // se já tive algum movieClip add, remove ele if(viewPage.numChildren == 1){ viewPage.removeChildAt(0) } loader.load(req); viewPage.addChild(loader); viewPage.addEventListener(MouseEvent.CLICK, fechaFrame); []´s Compartilhar este post Link para o post Compartilhar em outros sites
Luan Kosaka 0 Denunciar post Postado Junho 21, 2010 FUNCIONOU!!!! Muito obrigado. faça algo assim: // se já tive algum movieClip add, remove ele if(viewPage.numChildren == 1){ viewPage.removeChildAt(0) } loader.load(req); viewPage.addChild(loader); viewPage.addEventListener(MouseEvent.CLICK, fechaFrame); []´s Compartilhar este post Link para o post Compartilhar em outros sites