Ir para conteúdo

POWERED BY:

Arquivado

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

Drumente

Junção de variaveis

Recommended Posts

Olá a todos!

Tenho umas variaveis que estou chamando do php para o flash e gostava de saber como as juntar para dar um unico valor como ex:

 

des -> variavel usada no Load Vars

 

nmr = des.nmr -> traz do php valores numericos (1, 2, 3...)

img = des.img -> traz nomes de imagens (ex: bola)

 

agora queria criar uma variavel com os valores da "nmr" e "img" como ex:

 

imagem = img+nmr -> quero que mostre o seguinte valor no trace -> trace(imagem)

mostra no trace -> bola2

 

Como faço?

Compartilhar este post


Link para o post
Compartilhar em outros sites

var myLoadVars:LoadVars = new LoadVars();

myLoadVars.onLoad = function(success:Boolean) {

if (success){

var nmrFlash:Number = this.nmrPhp;

var imgFlash:String = this.imgPhp;

trace(imgFlash+nmrFlash+".jpg")

} else {

trace("Error loading PHP");

}

};

myLoadVars.load("your_url_php");

Att.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Valew!

Mas eu resolvi o problema de outra maneira com array porque tenho que ter o id das imagens porque quando

o usuario clicar nela mostrar essa imagem em grande e com as suas informacoes e tenho que enviar esse id para o php

e retornar para o flash...

Ja agora como faco para poder usar as variaveis que estao dentro do onLoad como globais?

Como por ex:

 

Quando uso o trace para mostrar o valor da var "nmr" dentro da funçao onLoad ele mostra, mas

quando faco o trace fora dessa funcao o trace mostra "undefined", e eu queria que mostrasse o valor fora dessa funcao

para poder usar essa var como global para outras frames.

Como faço?

 

var des:LoadVars = new LoadVars();
var nmr:Number = new Number();
des.load("http://localhost/udraw/desenhos.php?accao=aleatorio");
des.onLoad = function(ok){
	if(ok){
		nmr = des.nmr;
		for(nmr; nmr > 0; nmr--){
			if(nmr == 1){
				var retrato1:Array = new Array();
				retrato1 = [des.iden1, des.imagem1];
				denho = retrato1[1]+".jpg";
			}
			if(nmr == 2){
				var retrato2:Array = new Array();
				retrato2 = [des.iden2, des.imagem2];
				denho = retrato2[1]+".jpg";
			}
			imgvot = "des_vot.desenho"+nmr+".img"+nmr;
			loadMovie("desenhos/"+denho, imgvot);
			setProperty(imgvot, _xscale, 9);
			setProperty(imgvot, _yscale, 9);
		}
	}
}
trace(nmr)

Compartilhar este post


Link para o post
Compartilhar em outros sites

A variável está declarada dentro da função, desta forma só funciona dentro da mesma...

Sabe declarar variável "_global"? _global.myVar = "blablabla"; e para chamar: trace(_global.myVar);

Ou explica melhor a finalidade do projeto pois talvez seja o caso de ser a função global e não a var.

 

Att.

Compartilhar este post


Link para o post
Compartilhar em outros sites

des.nmr -> e o numero de loops que fiz no php para dar imagens aleatorias, ou seja, tava a 0 e no final ficou a 2 e esse 2 significa que no loop

gerou 2 imagens aleatorias e os seus ids.

 

des.iden -> e o id pertencente a cada imagem.

 

des.imagem -> e o nome da imagem

 

nota: des.imagem2, tem o valor numerico que corresponde ao numero do loop gerado pelo php, no php aumentei o numero de loops, ou seja passou de 0

a 2. No flash "des.nmr" = 2 (numero de loops feitos) e com o ciclo for diminui esse numero para voltar a 0 e disse com if, se o numero do loop for 1 ou 2,

vai criar um Array com o id e o nome da imagem correspondente ao numero de loops do php como ex:

 

- nmrFlash = 1 tem que ser igual a nmrPHP = 1, traz do PHP resultado "iden+nmr" e "imagem+nmr" para o flash.

 

Ta a ver a variavel "imgvot"? E o nome do movieclip onde sera colocado as imagens (mas tambem correspondente ao nmr para nao ficar 2 imagens no mesmo

movieclip e assim criar 2 movieclips para cada essas 2 imagens)

 

Dentro de cada movieclip "imgvot" tenho esta função:

 

onRollOver = function(){
	gotoAndStop(2);
}
onRollOut = function(){
	gotoAndStop(1);
}
onPress = function(){
	_root.attachMovie("area_infoimg_mc", "infoimg", getNextHighestDepth(), {_x : 170, _y : 154.1});
	denho = retrato1[1]+".jpg";
	loadMovie("desenhos/"+denho, infoimg);
	setProperty(infoimg, _xscale, 30);
	setProperty(infoimg, _yscale, 25);
	gotoAndStop(3);
}
onRelease = function(){
	gotoAndStop(2);
}

Ta a ver a variavel "denho"? Quero trazer aquele valor do array criado do onLoad em _root ( estas funcoes estao dentro de um movieclip)

Como faço?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Veja se é isso:

var des:LoadVars = new LoadVars();
var nmr:Number = new Number();
des.load("http://localhost/udraw/desenhos.php?accao=aleatorio");
des.onload = function(ok){
        if(ok){
                nmr = des.nmr;
                for(nmr; nmr > 0; nmr--){
                        if(nmr == 1){
                                var retrato1:Array = new Array();
                                retrato1 = [des.iden1, des.imagem1];
                                _global.denho = retrato1[1]+".jpg";
                        }
                        if(nmr == 2){
                                var retrato2:Array = new Array();
                                retrato2 = [des.iden2, des.imagem2];
                                _global.denho = retrato2[1]+".jpg";
                        }
                        imgvot = "des_vot.desenho"+nmr+".img"+nmr;
                        loadMovie("desenhos/"+_global.denho, imgvot);
                        setProperty(imgvot, _xscale, 9);
                        setProperty(imgvot, _yscale, 9);
                }
        }
}
trace(_global.denho);

E...

onRollOver = function(){
        gotoAndStop(2);
}
onRollOut = function(){
        gotoAndStop(1);
}
onPress = function(){
        _root.attachMovie("area_infoimg_mc", "infoimg", getNextHighestDepth(), {_x : 170, _y : 154.1});
        //denho = retrato1[1]+".jpg";
        loadMovie("desenhos/"+_global.denho, infoimg);
        setProperty(infoimg, _xscale, 30);
        setProperty(infoimg, _yscale, 25);
        gotoAndStop(3);
}
onRelease = function(){
        gotoAndStop(2);
}
Att.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Oi.

Nao deu! A variavel nao sai de dentro das funcoes, nao consegui passar do _root para dentro do movieclip usando o metodo do _global...

 

var utilizador;

onEnterFrame = function(){
	entrada.entrar.onRollOver = function(){
		this.gotoAndStop(2);
	}
	entrada.entrar.onRollOut = function(){
		this.gotoAndStop(1);
	}
	entrada.entrar.onRelease = function(){
		login = new LoadVars();
		login.user = entrada.user.text;
		login.pass = entrada.pass.text;
		login.sendAndLoad("http://localhost/udraw/utilizadores.php?accao=entrar", login, "POST");
		login.onLoad = function(ok){
			if(ok){
				if(login.user == 1){
					entrada.gotoAndStop(2);
					registo._visible = false;
					utilizador = login.username;
					entrada.gotoAndStop(2);
					mensagem.text = "";
					entrada.user.text = utilizador;
					userdentro = true;
				}else{
					mensagem.text = login.mensagem;
				}
			}else{
				entrada.user.text = "";
				entrada.pass.text = "";
			}
		}
	}
}

Ta a ver a variavel utilizador? Dentro da funcao onload eu dou-lhe um valor e essa variavel consigo envia-la para outra frame ou para dentro de um movieclip,

nao percebo porque e que nao faz o mesmo com as variaveis Array "retrato+numero"...

Sera que tem a ver com a diferença do "load" e "sendAndLoad"?

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.