Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Luan Kosaka

[Resolvido]remover swf externo do stage

Recommended Posts

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

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

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

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.