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: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(); } }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.