Ir para conteúdo

POWERED BY:

Arquivado

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

Ritz

[Resolvido] leitura do valor da variável

Recommended Posts

Oi Pessoal,

 

Tenho uma variável definida como icone1, quero que dependendo do resultado dessa variável que vem de um txt o flash faça uma ação de ir a um determinado frame dentro de um movie clip, isso em action 2, alguém ai sabe como? Poderia me ajudar?

 

Estou tentando isso:

coloquei no em um movie clip que participa da animação e contém as variáveis (o movie onde eu quero que ele mude de frame de acordo com o resultado é outro, não é esse, este só contem as variáveis):

código

 

onClipEvent(load){

var icone1;

 

 

if(icone1 == "cc" ){

_root.mc.icones.gotoAndStop("2")

trace("1");

};

if(icone1 == "ccn"){

_root.mc.icones.gotoAndStop("3")

trace("2");

};

if(icone1 == "ch"){

_root.mc.icones.gotoAndStop("4")

trace("3");

};

if(icone1 == "chn"){

_root.mc.icones.gotoAndStop("5")

trace("4");

};

if(icone1 == "cv"){

_root.mc.icones.gotoAndStop("6")

trace("5");

};

 

 

 

 

}

 

a variável já esta sendo carregada no palco, como:

 

var intervalo:Number;

var contaTxt:Number = 0;

var arrTextos:Array = new Array();

 

function inicia():Void

{

chamaIntervalo();

cadastraTextos();

leTexto();

}

 

function chamaIntervalo():Void

{

intervalo = setInterval(leTexto, 32000);

}

 

function leTexto():Void

{

var lv:LoadVars = new LoadVars();

trace("lendo");

lv.load(arrTextos[contaTxt]);

trace("contando");

 

contaTextos(4);

 

lv.onLoad = function(ok)

{

if(ok)

{

_root.icone1 = this.icone1;

}

else

{

trace("erro");

}

}

}

function cadastraTextos():Void

{

arrTextos.push("SaoPaulo-SP.txt", "RiodeJaneiro-RJ.txt", "BeloHorizonte-MG.txt",

"Brasilia-DF.txt","Goias-GO.txt");

 

}

 

function contaTextos():Void

{

if( contaTxt < arrTextos.length )

{

 

contaTxt++;

}

 

if( contaTxt == arrTextos.length )

{

 

contaTxt = 0;

}

}

 

inicia();

 

Tb quero aproveitar e agradecer a ajuda dos colegas aqui do forum, com as actions feitas e funcionando no palco, desde flash. OBRIGADA! \o/

 

Estou fazendo esse flash em pedacinhos, como vcs podem perceber..rss...não sei praticamente nada de actions, to sofrendo, mas um dia a coisa sai..kkk...ta quase chegando no fim....agradeço toda a ajuda que vier e se possível explicada, pois sou meio burra nesse setor.

 

abraços

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá

 

Tentei não mudar muito o seu código, apenas tirei a função cadastraTextos pois seria mais fácil fazer isso já na declaração da Array. Se quiser podemos ver depois mais coisas que podem ser simplificadas nesse código.

 

Outra coisa foi esquecer esse código dentro do movieclip. Além de não ser recomendado colocar actions direto no mc, elas estavam sendo executadas na hora errada, ou seja, antes de saber quem era icone1. Veja agora:

 

var intervalo:Number;
var contaTxt:Number = 0;
var arrTextos:Array = new Array("SaoPaulo-SP.txt", "RiodeJaneiro-RJ.txt", "BeloHorizonte-MG.txt", "Brasilia-DF.txt", "Goias-GO.txt");

function inicia():Void
{
	chamaIntervalo();
	leTexto();
}

function chamaIntervalo():Void
{
	intervalo = setInterval(leTexto, 32000);
}

function leTexto():Void
{
	var lv:LoadVars = new LoadVars();
	trace("lendo");
	lv.load(arrTextos[contaTxt]);
	trace("contando");

	contaTextos();

	lv.onLoad = function(ok)
	{
		if(ok)
		{
			_root.icone1 = this.icone1;
			mudaIcone();
		}
		else
		{
			trace("erro");
		}
	}
}


function contaTextos():Void
{
	if( contaTxt < arrTextos.length )
	{
		contaTxt++;
	}

	if( contaTxt == arrTextos.length )
	{
		contaTxt = 0;
	}
}

function mudaIcone():Void
{
	if(_root.icone1 == "cc" ){
		_root.mc.icones.gotoAndStop("2")
		trace("1");
	}
	if(_root.icone1 == "ccn"){
		_root.mc.icones.gotoAndStop("3")
		trace("2");
	}
	if(_root.icone1 == "ch"){
		_root.mc.icones.gotoAndStop("4")
		trace("3");
	}
	if(_root.icone1 == "chn"){
		_root.mc.icones.gotoAndStop("5")
		trace("4");
	}
	if(_root.icone1 == "cv"){
		_root.mc.icones.gotoAndStop("6")
		trace("5");
	}
}

inicia();

Com a função mudaIcone() dentro do onLoad, você sempre mudará o ícone na hora certa, depois de receber os dados do txt.

 

Veja se está tudo ok aí! http://forum.imasters.com.br/public/style_emoticons/default/bye1.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

Oi Antonio,

 

Bem testei aqui, melhorou o código e agora ele lê na janela de saida na ordem correta, porem continua aparecendo aleatoriamente os icones lidos, como se ele lesse do txt e simplesmente jogasse na tela, sendo que a cada animação ele chama uma das variáveis icone,

 

na janela aparece 1,2,1 pois esta retornando "cc", "ccn", "cc"...ele deveria aparecer o ícone "cc", a variável icone1 é a primeira e esta com ="cc", então ele deveria aparecer o icone "cc", primeiro, depois quando aparecesse o icone2 que esta = "ccn", mudasse para o icone "ccn" e no final da animação, quando aparece icone3 que esta ="cc", voltasse a aparecer o icone "cc", mas ele lê os traces na ordem, porem não espera aparecer o resultado da variável, ele simplesmente joga o último ou o primeiro ícone na tela.

 

coloquei assim:

var intervalo:Number;
var contaTxt:Number = 0;
var arrTextos:Array = new Array("SaoPaulo-SP.txt", "RiodeJaneiro-RJ.txt", "BeloHorizonte-MG.txt", "Brasilia-DF.txt", "Goias-GO.txt");

function inicia():Void
{
	chamaIntervalo();
	leTexto();
}

function chamaIntervalo():Void
{
	intervalo = setInterval(leTexto, 32000);
	
}

function leTexto():Void
{
	var lv:LoadVars = new LoadVars();
	trace("lendo");
	lv.load(arrTextos[contaTxt]);
	trace("contando");

	contaTextos();

	lv.onLoad = function(ok)
	{
		if(ok)
		{
			_root.cidade = this.cidade;
			_root.dia1 = this.dia1;
			_root.chuva1 = this.chuva1;
			_root.max1 = this.max1;
			_root.min1 = this.min1;
			_root.dia2 = this.dia2;
			_root.chuva2 = this.chuva1;
			_root.max2 = this.max2;
			_root.min2 = this.min2;
			_root.dia3 = this.dia2;
			_root.chuva3 = this.chuva3;
			_root.max3 = this.max3;
			_root.min3 = this.min3;
			_root.icone1 = this.icone1;
						mudaIcone1();
			_root.icone2 = this.icone2;
						mudaIcone2();
			_root.icone3 = this.icone3;
			mudaIcone3();
		}
		else
		{
			trace("erro");
		}
	}
}


function contaTextos():Void
{
	if( contaTxt < arrTextos.length )
	{
		contaTxt++;
	}

	if( contaTxt == arrTextos.length )
	{
		contaTxt = 0;
	}
}

function mudaIcone1():Void
{
	if(_root.icone1 == "cc"){
		_root.mc.icones.gotoAndStop("2")
		trace("1");
	}
	else if(_root.icone1 == "ccn"){
		_root.mc.icones.gotoAndStop("3")
		trace("2");
	}
	else if(_root.icone1 == "ch"){
		_root.mc.icones.gotoAndStop("4")
		trace("3");
	}
	else if(_root.icone1 == "chn"){
		_root.mc.icones.gotoAndStop("5")
		trace("4");
	}
	else if(_root.icone1 == "cv"){
		_root.mc.icones.gotoAndStop("6")
		trace("5");
	}
}

function mudaIcone2():Void
{
	if(_root.icone2 == "cc"){
		_root.mc.icones.gotoAndStop("2")
		trace("1");
	}
	else if(_root.icone2 == "ccn"){
		_root.mc.icones.gotoAndStop("3")
		trace("2");
	}
	else if(_root.icone2 == "ch"){
		_root.mc.icones.gotoAndStop("4")
		trace("3");
	}
	else if(_root.icone2 == "chn"){
		_root.mc.icones.gotoAndStop("5")
		trace("4");
	}
	else if(_root.icone2 == "cv"){
		_root.mc.icones.gotoAndStop("6")
		trace("5");
	}
}

function mudaIcone3():Void
{
	if(_root.icone3 == "cc"){
		_root.mc.icones.gotoAndStop("2")
		trace("1");
	}
	else if(_root.icone3 == "ccn"){
		_root.mc.icones.gotoAndStop("3")
		trace("2");
	}
	else if(_root.icone3 == "ch"){
		_root.mc.icones.gotoAndStop("4")
		trace("3");
	}
	else if(_root.icone3 == "chn"){
		_root.mc.icones.gotoAndStop("5")
		trace("4");
	}
	else if(_root.icone3 == "cv"){
		_root.mc.icones.gotoAndStop("6")
		trace("5");
	}
}

inicia();

Compartilhar este post


Link para o post
Compartilhar em outros sites

Hum.. Ritz, tem como você postar um link para o fla? Pois pra mim parece que a lógica está certa.. Se der mande o txt também, aí vai dar pra analisar melhor.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Oi Antonio,

 

Segue o link dos arquivos zipados:

 

www.tatutoca.com/tatutoca/selo_2009_testando.rar

 

 

muito muito muito obrigada!!!!!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá

 

Agora eu entendi porque você estava tentando colocar as actions direto no mc antes... mas acabei resolvendo de um modo diferente. link

 

Veja que criei uma função que troca os ícones e eu a chamo no tempo certo de dentro do mc. http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif

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.