Ir para conteúdo

POWERED BY:

Arquivado

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

plizot

Armazenar variável "quebrada" loadvars em um array

Recommended Posts

Boa Tarde, tenho uma galeria em flash que pega as fotos via xml. Esses xmls são gerados por um arquivo php, o problema é que se eu criar uma nova galeria no sistema, vou ter q abrir o .fla e indicar o caminho do arquivo e o nome da galeria, e entao gerar o swf.

Estou tentando fazer com esse processo seja automatizado.

O que eu consegui fazer ateh agora foi gerar um php que liste todos os xmls de uma determinada pasta e que o flash receba essa variavel da seguinte forma:

 

"gallery02.xml","gallery03.xml","gallery04.xml"

O problema é que o caminho dos arquivos é informado em um array, essa galeria interpreta o que esta digitado dentro dos parenteses da forma acima, ou seja, se estiver entre aspas duplas e separados por virgula ela cria automaticamente a nova galeria no combobox e carrega o xml correspondente.

 

Tentei armazenar esse valor do php numa variavel e passar ela como parametro do array, mas o flash pega esses arquivos como se fosse um só, na hora que eu vou gerar ele diz que nao encontrou o arquivo: "gallery02.xml","gallery03.xml","gallery04.xml".xml.

 

O que eu preciso é que o flash interprete o que tem entre as aspas duplas e até a virgula isoladamente, talvez armazenando em um novo array, mas não sei por onde começar.

 

o código da galeria é esse:

 

System.useCodepage = true
carregaDados = new LoadVars()
carregaDados.load("http://localhost/cadastro/diretorio.php") // php que imprime os xmls que estao em determinada pasta
carregaDados.onData = function(dados){
google = dados;
trace(google);

import mx.transitions.easing.*;
var photo_filename:Array = new Array();
var photo_thumbnail:Array = new Array();
var photo_description:Array = new Array();
var photo_cores:Array = new Array();
var gallery_name:Array = new Array("COLEÇÃO 2009","COLEÇÃO 2010"); //nome da galeria, que vai aparecer no combobox
var gallery_file:Array = new Array();
var no_of_gallery:Number = gallery_name.length;
var folder:String = "../../photos/";
var total:Number;
var g:Number = 0;
var i:Number = 0;
var j:Number = 0;
var k:Number = 0;
var p:Number = 0;
var border_size:Number = 0;
var scrolling_speed:Number = 0.15; // 0.00 to 1.00
var cv:Number = 0;
var cv_old:Number = 0;
var onDrag:Boolean;
var xml:XML = new XML();
sub_button._visible = false;
tn_area._visible = false;
stop();

cb_categorias.setStyle("backgroundColor","0x413D30");
cb_categorias.setStyle("borderColor","0x413D30");
cb_categorias.setStyle("scrollTrackColor","0x413D30"); 
cb_categorias.setStyle("borderStyle", "none");
cb_categorias.setStyle("textSelectedColor", "0x413D30");
cb_categorias.setStyle("rollOverColor", "0xffffff");
cb_categorias.setStyle("selectionColor", "0xffffff");
cb_categorias.setStyle("color","0xffffff");
cb_categorias.setStyle("disabledColor","0x413D30");
cb_categorias.setStyle("fontFamily","Arial");
cb_categorias.setStyle("fontSize","11");
cb_categorias.setStyle("highlightColor","0x413D30");
cb_categorias.setStyle("marginLeft","15");
cb_categorias.setStyle("marginRight","5");
cb_categorias.setStyle("openDuration", 800);
cb_categorias.setStyle("openEasing", Bounce.easeOut);

cb_categorias.rowCount = 5;


for( i = 0; i < no_of_gallery; i++ ) // ao selecionar outra opção no combo, troca de galeria
{
	
	
	sub_button.duplicateMovieClip("sub_button" + i, i);
	this["sub_button" + i]._x = sub_button._x;
	this["sub_button" + i]._y = sub_button._y + (sub_button._height) * i;
	this["sub_button" + i].label_txt = gallery_name[i];
	this["sub_button" + i].no = i;
	cb_categorias.addItem(gallery_name[i],( gallery_file[i]) );
	
	var pular:Object = new Object();

pular.change = function(){

xml.load(cb_categorias.value);
xml.ignoreWhite = true;

}

cb_categorias.addEventListener("change", pular);

	
}




changeGallery(0);	
xml.onLoad = function() // carrega novo xml
{	
	for( i = 0; i < total; i++ )
		removeMovieClip(tn_group["tn"+i]);
		
	tn_group.tn._visible = false;
	var nodes = this.firstChild.childNodes;
	total = nodes.length;
	//trace(xml.firstChild.attributes.name);
	gallery_name[i] = xml.firstChild.attributes.name;
	for( i = 0; i < total; i++)
	{
		photo_thumbnail[i] = nodes[i].attributes.thumbnail;
		photo_description[i] = nodes[i].attributes.description;
		photo_cores[i] = nodes[i].attributes.cores;
		photo_filename[i] = nodes[i].attributes.filename;
		
		
	}
	j = k = p = 0;
	g++;
	create_tn();
	scroller();
	play();
}
	
}

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.