Ir para conteúdo

POWERED BY:

Arquivado

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

Carolina Mayumi

[Resolvido] Problema ao carregar swf

Recommended Posts

Sou novata em AS e estou meio perdida.

Tenho um menu que quando passar o mouse carregará um swf e qdo for mouse out continuará no ultimo swf carregado pelo mouseOver.

O primeiro swf já deverá vir pré carregado. É semelhante ao site

http://www.juspodivm.com.br/default.aspx

na parte onde aparecem os cursos.

Não consigo carregar o swf externo e o código está com o erro Error #2044: Unhandled IOErrorEvent:. text=Error #2035: URL Not Found.

Mas os swf q estou chamando estão todos na página correta...não consigo entender o q pode estar errado....

 

tenho esse codigo no primeiro frame, onde seto uma variável que dependerá do botao Over para chamar um determinado swf.

 

stop();
var clicado:String="";

var clicadoproxCursos:Boolean=true;
var clicadocarrJuridicas:Boolean=false;
var clicadoexameOrdem:Boolean=false;

var swfCarregado:MovieClip;

btnProxCursos.addEventListener(MouseEvent.MOUSE_OVER, over);
btnCarrJuridicas.addEventListener(MouseEvent.MOUSE_OVER, over);
btnExameOrdem.addEventListener(MouseEvent.MOUSE_OVER, over);

function over(evt:MouseEvent):void {
	if (evt.target.name=="btnProxCursos") {
		clicadoproxCursos = true;
		clicado = "proxCursos";
		if (clicadocarrJuridicas==true) {
			btnCarrJuridicas.play();
		}
		if (clicadoexameOrdem==true) {
			btnExameOrdem.play();
		}
		if (clicadoconcursosDiversos==true) {
			btnConcursosDiversos.play();
		}
		if (clicadoposGraduacao==true) {
			btnPosGraduacao.play();
		}
		if (clicadocursosAvancados==true) {
			btnCursosAvancados.play();
		}
		if (clicadowebAula==true) {
			btnWebAula.play();
		}
		if (clicadotelessala==true) {
			btnTelessala.play();
		}
	}
	if (evt.target.name=="btnCarrJuridicas") {
		clicadocarrJuridicas = true;
		clicado = "carrJuridicas";
		if (clicadoproxCursos==true) {
			btnProxCursos.play();
			clicadoproxCursos = false;
		}
		if (clicadoexameOrdem==true) {
			btnExameOrdem.play();
			clicadoexameOrdem = false;
		}
		if (clicadoconcursosDiversos==true) {
			btnConcursosDiversos.play();
			clicadoconcursosDiversos = false;
		}
		if (clicadoposGraduacao==true) {
			btnPosGraduacao.play();
			clicadoposGraduacao = false;
		}
		if (clicadocursosAvancados==true) {
			btnCursosAvancados.play();
			clicadocursosAvancados = false;
		}
		if (clicadowebAula==true) {
			btnWebAula.play();
			clicadowebAula = false;
		}
		if (clicadotelessala==true) {
			btnTelessala.play();
			clicadotelessala = false;
		}
	}
	if (evt.target.name=="btnExameOrdem") {
		clicadoexameOrdem = true;
		clicado = "exameOrdem";
		if (clicadoproxCursos==true) {
			btnProxCursos.play();
			clicadoproxCursos = false;
		}
		if (clicadocarrJuridicas==true) {
			btnCarrJuridicas.play();
			clicadocarrJuridicas = false;
		}
		if (clicadoconcursosDiversos==true) {
			btnConcursosDiversos.play();
			clicadoconcursosDiversos = false;
		}
		if (clicadoposGraduacao==true) {
			btnPosGraduacao.play();
			clicadoposGraduacao = false;
		}
		if (clicadocursosAvancados==true) {
			btnCursosAvancados.play();
			clicadocursosAvancados = false;
		}
		if (clicadowebAula==true) {
			btnWebAula.play();
			clicadowebAula = false;
		}
		if (clicadotelessala==true) {
			btnTelessala.play();
			clicadotelessala = false;
		}
	}
}	
	if(currentFrame == 1){
		play();
	}else{
		swfCarregado.play();
	}

E tenho esse codigo no ultimo frame para carregar os "swfs" externos, depois q a primeira imagem que já estará pré carregada desaparece com alpha 0

 

 

stop();
trace(clicado);

import flash.net.URLRequest;
import flash.display.Loader;
import flash.events.Event;
import flash.events.ProgressEvent;

function startLoad()
{
var mLoader:Loader = new Loader();
var mRequest:URLRequest = new URLRequest(clicado + ".swf");
mLoader.contentLoaderInfo.addEventListener(Event.COMPLETE, onCompleteHandler);
mLoader.contentLoaderInfo.addEventListener(ProgressEvent.PROGRESS, onProgressHandler);
mLoader.load(mRequest);
}
function onCompleteHandler(loadEvent:Event)
{
        addChild(loadEvent.currentTarget.content);
		swfCarregado = loadEvent.currentTarget.content;
		swfCarregado.play();
}
function onProgressHandler(mProgress:ProgressEvent)
{
var percent:Number = mProgress.bytesLoaded/mProgress.bytesTotal;
trace(percent);
}
startLoad();

Não sei se minha lógica está certa, se alguem puder ajudar....me dêem uma luz!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá Carolina Mayumi, que bom que resolveu. Se possível, poste a solução para que outras pessoas no futuro possam ser ajudadas pela sua solução.

 

Carlos Eduardo

Compartilhar este post


Link para o post
Compartilhar em outros sites

O código correto ficaria assim:

 

//seta o primeiro swf que já virá carregado
var clicado:String="proxCursos";

stop();
btnProxCursos.addEventListener(MouseEvent.MOUSE_OVER, over);
btnCarrJuridicas.addEventListener(MouseEvent.MOUSE_OVER, over);
btnExameOrdem.addEventListener(MouseEvent.MOUSE_OVER, over);

startLoad();
function over(evt:MouseEvent):void {
	trace("# "+ evt.target.name);
	if (evt.target.name=="btnProxCursos") {
		trace("leu btn --> btnProxCursos");
		clicado = "proxCursos";
	}
	if (evt.target.name=="btnCarrJuridicas") {
		trace("leu btn --> btnCarrJuridicas");
		clicado = "carrJuridicas";
	}
	if (evt.target.name=="btnExameOrdem") {
		trace("leu btn --> btnExameOrdem");
		clicado = "exameOrdem";
	}
	trace("cuurrrrreeeeeeennnnttttttttttttt: "+ currentFrame);
	if (currentFrame == 2) {
		play();
		trace("acionou playyyy");
	}
	if (currentFrame == 4) {
		startLoad();
	} else {
		swfCarregado.play();
	}
}

E no ultimo frame que seria o carregador:

 

stop();
trace("clicado");

import flash.net.URLRequest;
import flash.display.Loader;
import flash.events.Event;
import flash.events.ProgressEvent;

var swfCarregado:MovieClip;

function startLoad() {
	var mLoader:Loader = new Loader();
	var mRequest:URLRequest = new URLRequest(clicado + ".swf");
	mLoader.contentLoaderInfo.addEventListener(Event.COMPLETE, onCompleteHandler);
	mLoader.contentLoaderInfo.addEventListener(ProgressEvent.PROGRESS, onProgressHandler);
	mLoader.load(mRequest);
}
function onCompleteHandler(loadEvent:Event) {
	addChild(loadEvent.currentTarget.content);
	swfCarregado = loadEvent.currentTarget.content;
	trace("entrou CompleteHandler ******** ");
}
function onProgressHandler(mProgress:ProgressEvent) {
	var percent:Number = mProgress.bytesLoaded/mProgress.bytesTotal;
	trace(percent);
}
startLoad();
swfCarregado.play();

Bem é isso, as poucos vou pegando o jeito....

Abç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.