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 então 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 não 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();
}
}
Pergunta
plizot
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 então 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:
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 não 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:Link para o comentário
Compartilhar em outros sites
1 resposta a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.