Drumente 0 Denunciar post Postado Março 29, 2010 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
Public2004 79 Denunciar post Postado Março 30, 2010 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
Drumente 0 Denunciar post Postado Março 30, 2010 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
Public2004 79 Denunciar post Postado Março 30, 2010 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
Drumente 0 Denunciar post Postado Março 30, 2010 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
Public2004 79 Denunciar post Postado Março 30, 2010 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
Drumente 0 Denunciar post Postado Março 31, 2010 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