nakid.mkt 0 Denunciar post Postado Agosto 15, 2007 Oi pessoal, tudo bem? vamos lá: como eu faço para usar algo que eu peguei com LoadVars fora do onLoad? segue o exemplo: _global.vetor_rec = new Array();var c = new LoadVars();c.onLoad = retornaValores;c.load("listaRecordistas.php");function retornaValores() { // Aqui eu passo as variaveis (recordistas) que eu peguei no listaRecordistas.php e passo para o array vetor_rec}trace(vetor_rec[indice]); O código acima funciona muito bem. O probelma é que o o vetor_rec não conserva os valores adquiridos dentro da funcao retornaValeres() para fora dela. O trace fapa um indice qualquer, como mostrado na ultima linha do código retorna indefinido. se o trace estivesse dentro da funcao retornaValores(), ele retornaria o valor correto. o mesmo ocorre com loadXML. Como resolvo isso? devo então colocar todo o meu código dentro da funcao retornaValores()? até as outras funcoes e os onEnterFrame da vida? Espero que tenha explicado bem. Valeu! Compartilhar este post Link para o post Compartilhar em outros sites
Eder Fortunato 15 Denunciar post Postado Agosto 15, 2007 o problema é que ela só vai ter algum valor depois que a função onLoad for executada, por isso você não pode pega-lo logo após chama-la como você fez ali, o que você pode fazer é coloca esse codigo no 1º frame com um stop stop()_global.vetor_rec = new Array();var c = new LoadVars();c.onLoad = retornaValores;c.load("listaRecordistas.php");function retornaValores() { global.vetor_rec[0] = this.valor _root.play()} assim que retornaValores for chamada, você manda ir para o proximo frame quando ela ja tiver um valor Compartilhar este post Link para o post Compartilhar em outros sites
Weverton N 0 Denunciar post Postado Agosto 15, 2007 No caso amigo, você pode simplificar, em vez de colocar a função retornaValores como uma função separada, já coloca ela entor do onLoad msm: _global.vetor_rec = new Array();var c = new LoadVars();c.onLoad = function (sucess:Boolean) { // Aqui eu passo as variaveis (recordistas) que eu peguei no listaRecordistas.php e passo para o array vetor_rec}c.load("listaRecordistas.php"); Quando o flash chama um loadVars, as variáveis ficam armazenadas hirearquicamente (não sei se é essa a palavra..srsr), abaixo do objeto loadVars. Portanto, para acessar a variável "medalha" (por ex.) que você informou pelo php, você tem que referenciá-la assim: c.medalha, ou se for dentro da função this.medalha Agora, se você quiser que esteja acessível no filme inteiro, pode colocar suas variáveis na _root: _root.medalha = this.medalha // se estiver na função_root.medalha = c.medalha // na timeline Esepro ter ajudado! Compartilhar este post Link para o post Compartilhar em outros sites
nakid.mkt 0 Denunciar post Postado Agosto 15, 2007 Pessoal, funcionou!Eder e Weverton, muito obrigado pela ajuda!abraços! Compartilhar este post Link para o post Compartilhar em outros sites
SlyX 0 Denunciar post Postado Agosto 22, 2007 o problema é que ela só vai ter algum valor depois que a função onLoad for executada, por isso você não pode pega-lo logo após chama-la como você fez ali, o que você pode fazer é coloca esse codigo no 1º frame com um stop stop()_global.vetor_rec = new Array();var c = new LoadVars();c.onLoad = retornaValores;c.load("listaRecordistas.php");function retornaValores() { global.vetor_rec[0] = this.valor _root.play()}assim que retornaValores for chamada, você manda ir para o proximo frame quando ela ja tiver um valordeu muito certo nao =/this._lockroot = true;stop()_global.vetor_titulo = new Array();var retorno:LoadVars = new LoadVars();retorno.load("http://localhost/graticia/receitas.php?opcao=ultima");retorno.onLoad = function(ok) { if (ok) { intro.introducao.text = this.introducao;// rectitulo = this.rectitulo; _global.vetor_titulo[0] = this.rectitulo; play() }};trace(_global.vetor_titulo[0]);ele continua soh enxergando dentro da funcao...ps: tentei sme o _global, com global soh como tava no codigo original, nao deu tambem Compartilhar este post Link para o post Compartilhar em outros sites
Eder Fortunato 15 Denunciar post Postado Agosto 22, 2007 você colocou o trace(_global.vetor_titulo[0]); no segundo frame?? Compartilhar este post Link para o post Compartilhar em outros sites
Weverton N 0 Denunciar post Postado Agosto 23, 2007 você colocou o trace(_global.vetor_titulo[0]); no segundo frame??Isso msm amigo, você tem que colocar o trace da variavel no segundo frame, pq de acordo com a ordem de leitura das actions, ele le todas as actions do frame, depois dá o load no teu loadVars, entende.. dae ele vai traçar a variavel antes de carregar os valores. Compartilhar este post Link para o post Compartilhar em outros sites
SlyX 0 Denunciar post Postado Setembro 11, 2007 você colocou o trace(_global.vetor_titulo[0]); no segundo frame??Isso msm amigo, você tem que colocar o trace da variavel no segundo frame, pq de acordo com a ordem de leitura das actions, ele le todas as actions do frame, depois dá o load no teu loadVars, entende.. dae ele vai traçar a variavel antes de carregar os valores.e como eu faço para ler no mesmo frame?quero fazer um loader com as imagens que vem do onload... (this.image) Compartilhar este post Link para o post Compartilhar em outros sites
Weverton N 0 Denunciar post Postado Setembro 11, 2007 você colocou o trace(_global.vetor_titulo[0]); no segundo frame??Isso msm amigo, você tem que colocar o trace da variavel no segundo frame, pq de acordo com a ordem de leitura das actions, ele le todas as actions do frame, depois dá o load no teu loadVars, entende.. dae ele vai traçar a variavel antes de carregar os valores.e como eu faço para ler no mesmo frame?quero fazer um loader com as imagens que vem do onload... (this.image)Coloca as actions para carregar seu frame dentro do escopo do onLoad então.....se é que estou entendendo. Ou defina uma função externa e faça uma chamada a ela dentro do escopo do onLoad. O que não dá para fazer no msm frame é você utiliza a estrutura://definição das variaveis//função onload//chamada onload//utilização das variáveis do onloadPQ o flash interpretaria a estrutura acima da seguinte maneira:1º le as variaveis2º armazena a função de onLoad3º chama o load do arquivo4º faz a utilização das variaveis (no caso, ainda não exitem)5º executa os procedimentos do onLoad, assim que o arquivo estiver carregado.Bom, pelo menos até hj enquanto eu trabalhei com flash sempre percebi esse comportamento no carregamento de variáveis no flash.Vlw?? Compartilhar este post Link para o post Compartilhar em outros sites