Ir para conteúdo

POWERED BY:

Arquivado

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

Zumbido

XML de Swf externo não carrega valores

Recommended Posts

Olá pessoas... o meu problema é o seguinte...

tenho um .swf principal, que chama outros swfs em uma área deste swf principal.

 

beleza, tudo funciona legalzinho até que quando clico em portfolio (link), ele abre um swf de galeria de imagens, que contém um xml para chamar as imagens.

 

Porém, os valores do xml não são carregados...

http://forum.imasters.com.br/public/style_emoticons/default/upset.gif

 

detalhe que a galeria rodando sozinha ela carrega os valores setados no xml...

alguém sabe a solução?

 

Abraços

Compartilhar este post


Link para o post
Compartilhar em outros sites

Sem querer "cortar" o ludoman, mas evite utilizar este método porque você bloqueia o MovieClip para o resto do filme acima dele. Coloque o código que você usou para seu XML, pode ser apenas um problema de hierarquia.

 

É isso aí.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Sem problemas... não está cortando....Eu também não gosto de usar o lockroot....Tem vantagens em alguns casos...Sempre é melhor informar ao máximo e apresentar novos caminhos...Falows

Compartilhar este post


Link para o post
Compartilhar em outros sites

Vou testar a dica do ludoman e vou dar upload no arquivo .fla principal para q vcs possam dar uma olhadinha, pode ser?a galeria de imagens é uma que tem paginação, que tem na parte de tutoriais aqui do imastershttp://www.imasters.com.br/artigo/3495/act...tos_facillitada

Valeu as respostas, =)Fiz o q o ludoman disse e a galeria funcionou certinho, =)por hora estou apenas fazendo uns testes com um possível portfolio, =)muito obrigado msm =)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Valeu galera do forum sempre aprendo mto por aqui, ta na hora d falar um pouco tb rss

Putz cara tb to tendo o mesmo problema. Carrega o movie so que nao exibe as imagens! Isso tinha q entregar isso amanha, nao consigo resolver!

procurei e encontrei como a melhor solucao, colocar no 1 frame

this._lockroot = true;

 

Eu to usando o photoshop pra gerar a galeria XML em Flash com as imagens, e usando loadmovie para inserir ela no swf principal, mas o photoshop so me da os html js swf, ou seja, nao tem como mudar nada no as do .fla! ou teria?

Tenho acesso somente as conf dos XML as pastas e as imagens a ser carregadas.

lista arquivos:

 

galleryconfig.xml

 

CODE
<?xml version="1.0"?>

<settings>

 

<!-- value (in pixels) for distance between gallery and left edge-->

<var symboltype="number" name="pinX" value="5" />

 

<!-- TOP PAD -->

<!-- height (in pixels) of the top pad -->

<var symboltype="number" name="defaultY" value="1" />

<!-- height (in pixels) of the top pad when image info is displayed -->

<var symboltype="number" name="infoY" value="1" />

<!-- width and height (in pixels) of padding around gallery title and nav -->

<var symboltype="number" name="paddingXY" value="1" />

<!-- height (in pixels) of the gap between the top pad and title -->

<var symboltype="number" name="spacingY" value="1" />

 

<!-- IMAGE DISPLAY -->

<!-- width and height (in pixels) of padding around main image -->

<var symboltype="number" name="imagePaddingXY" value="2" />

<!-- height (in pixels) of the gap between the main image pad and others -->

<var symboltype="number" name="imageSpacingY" value="1" />

<!-- width and height (in pixels) of border around main image -->

<var symboltype="number" name="imageBorderWidth" value="2" />

<!--color (in hex) of the main image border-->

<var symboltype="string" name="imageBorderColor" value="FFFFFF" />

<!--color (in hex) of the main image preloader-->

<var symboltype="string" name="imagePreloadColor" value="000000" />

 

<!--THUMBNAIL NAV -->

<!-- width and height (in pixels) of padding around individual thumbnails -->

<var symboltype="number" name="navPaddingXY" value="4" />

<!-- width (in pixels) of the gap between individual thumbnail pads -->

<var symboltype="number" name="navSpacingX" value="1" />

<!-- width and height (in pixels) of border around individual thumbnails -->

<var symboltype="number" name="navBorderWidth" value="2" />

<!-- set all thumbnail pads to be the same width -->

<var symboltype="boolean" name="squareThumbPads" value="false" />

<!-- height (in pixels) of the gap between the thumbnails and the scroll -->

<var symboltype="number" name="navSpacingY" value="1" />

<!-- width and height (in pixels) of border around entire nav -->

<var symboltype="number" name="navOutlineWidth" value="1" />

<!-- show the image numbers before the filename/title by default -->

<var symboltype="boolean" name="showNavNumbers" value="false" />

 

<!--CONTROLS -->

<!-- open the controller menu by default -->

<var symboltype="boolean" name="showController" value="true" />

<!-- display info toggle button -->

<var symboltype="boolean" name="showHelpButton" value="false" />

<!-- display thumbnail toggle button-->

<var symboltype="boolean" name="showNavButton" value="true" />

<!-- hold time between each image -->

<var symboltype="number" name="showTime" value="4" />

<!--controller Scale (in percentage)-->

<var symboltype="number" name="controlScale" value="250" />

 

<!-- AUDIO -->

<!-- play sound on load -->

<var symboltype="boolean" name="playSound" value="true" />

<!-- loop amount for audio (if playsound is true, it will play once) -->

<var symboltype="number" name="soundLoop" value="3" />

<!--path to desired audio file-->

<var symboltype="string" name="mp3file" value="useraudio.mp3" />

 

<!-- EMBED FONT -->

<var symboltype="boolean" name="embedFont" value="true" />

 

</settings>

photos.xml

 

CODE
<gallery

base = ""

background = "#FFFFFF"

banner = "#F0F0F0"

text = "#000000"

link = "#CCCCCC"

alink = "#999999"

vlink = "#CCCCCC"

date = "">

<sitename></sitename>

<photographer></photographer>

<contactinfo></contactinfo>

<email></email>

<security><![CDATA[]]> </security>

 

<banner font = "Arial" fontsize = "3" color = "#F0F0F0"> </banner>

<thumbnail base ="thumbnails/" font = "Arial" fontsize = "4" color = "#F0F0F0" border = "0" rows = "3" col = "5"> </thumbnail>

<large base ="images/" font = "Arial" fontsize = "3" color = "#F0F0F0" border = "0"> </large>

<images id = "images">

 

<image

path = "pag 031b.jpg"

width = "350"

height = "346"

thumbpath = "pag 031b.jpg"

thumbwidth = "90"

thumbheight = "89">

</image>

 

 

<image

path = "pag 032b.jpg"

width = "333"

height = "350"

thumbpath = "pag 032b.jpg"

thumbwidth = "85"

thumbheight = "90">

</image>

</images>

</gallery>

flashobject.js

 

CODE
/*

 

* FlashObject embed

 

*

 

* by Geoff Stearns (geoff@choppingblock.com, http://www.choppingblock.com/)

 

*

 

* v1.0.7 - 11-17-2004

 

*

 

* Create and write a flash movie to the page, includes detection

 

*

 

* Usage:

 

*

 

* myFlash = new FlashObject("path/to/swf.swf", "swfid", "width", "height", flashversion, "backgroundcolor");

 

* myFlash.altTxt = "Upgrade your Flash Player!"; // optional

 

* myFlash.addParam("wmode", "transparent"); // optional

 

* myFlash.addVariable("varname1", "varvalue"); // optional

 

* myFlash.addVariable("varname2", getQueryParamValue("myvar")); // optional

 

* myFlash.write();

 

*

 

*/

 

 

 

FlashObject = function(swf, id, w, h, ver, c) {

 

this.swf = swf;

 

this.id = id;

 

this.width = w;

 

this.height = h;

 

this.version = ver || 6; // default to 6

 

this.align = "middle"; // default to middle

 

this.redirect = "";

 

this.sq = document.location.search.split("?")[1] || "";

 

this.altTxt = "Please <a href='http://www.macromedia.com/go/getflashplayer'>upgrade your Flash Player</a>.";

 

this.bypassTxt = "<p>Already have Flash Player? <a href='?detectflash=false&"+ this.sq +"'>Click here if you have Flash Player "+ this.version +" installed</a>.</p>";

 

this.params = new Object();

 

this.variables = new Object();

 

if © this.color = this.addParam('bgcolor', c);

 

this.addParam('quality', 'high'); // default to high

 

this.doDetect = getQueryParamValue('detectflash');

 

}

 

 

 

FlashObject.prototype.addParam = function(name, value) {

 

this.params[name] = value;

 

}

 

 

 

FlashObject.prototype.getParams = function() {

 

return this.params;

 

}

 

 

 

FlashObject.prototype.getParam = function(name) {

 

return this.params[name];

 

}

 

 

 

FlashObject.prototype.addVariable = function(name, value) {

 

this.variables[name] = value;

 

}

 

 

 

FlashObject.prototype.getVariable = function(name) {

 

return this.variables[name];

 

}

 

 

 

FlashObject.prototype.getVariables = function() {

 

return this.variables;

 

}

 

 

 

FlashObject.prototype.getParamTags = function() {

 

var paramTags = "";

 

for (var param in this.getParams()) {

 

paramTags += '<param name="' + param + '" value="' + this.getParam(param) + '" />';

 

}

 

if (paramTags == "") {

 

paramTags = null;

 

}

 

return paramTags;

 

}

 

 

 

FlashObject.prototype.getHTML = function() {

 

var flashHTML = "";

 

if (window.ActiveXObject && navigator.userAgent.indexOf('Mac') == -1) { // PC IE

 

flashHTML += '<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="' + this.width + '" height="' + this.height + '" id="' + this.id + '" align="' + this.align + '">';

 

flashHTML += '<param name="movie" value="' + this.swf + '" />';

 

if (this.getParamTags() != null) {

 

flashHTML += this.getParamTags();

 

}

 

if (this.getVariablePairs() != null) {

 

flashHTML += '<param name="flashVars" value="' + this.getVariablePairs() + '" />';

 

}

 

flashHTML += '</object>';

 

}

 

else { // Everyone else

 

flashHTML += '<embed type="application/x-shockwave-flash" src="' + this.swf + '" width="' + this.width + '" height="' + this.height + '" id="' + this.id + '" align="' + this.align + '"';

 

for (var param in this.getParams()) {

 

flashHTML += ' ' + param + '="' + this.getParam(param) + '"';

 

}

 

if (this.getVariablePairs() != null) {

 

flashHTML += ' flashVars="' + this.getVariablePairs() + '"';

 

}

 

flashHTML += '></embed>';

 

}

 

return flashHTML;

 

}

 

 

 

 

 

FlashObject.prototype.getVariablePairs = function() {

 

var variablePairs = new Array();

 

for (var name in this.getVariables()) {

 

variablePairs.push(name + "=" + escape(this.getVariable(name)));

 

}

 

if (variablePairs.length > 0) {

 

return variablePairs.join("&");

 

}

 

else {

 

return null;

 

}

 

}

 

 

 

FlashObject.prototype.write = function(elementId) {

 

if(detectFlash(this.version) || this.doDetect=='false') {

 

if (elementId) {

 

document.getElementById(elementId).innerHTML = this.getHTML();

 

} else {

 

document.write(this.getHTML());

 

}

 

} else {

 

if (this.redirect != "") {

 

document.location.replace(this.redirect);

 

} else {

 

if (elementId) {

 

document.getElementById(elementId).innerHTML = this.altTxt +""+ this.bypassTxt;

 

} else {

 

document.write(this.altTxt +""+ this.bypassTxt);

 

}

 

}

 

}

 

}

 

 

 

function getFlashVersion() {

 

var flashversion = 0;

 

if (navigator.plugins && navigator.plugins.length) {

 

var x = navigator.plugins["Shockwave Flash"];

 

if(x){

 

if (x.description) {

 

var y = x.description;

 

flashversion = y.charAt(y.indexOf('.')-1);

 

}

 

}

 

} else {

 

result = false;

 

for(var i = 15; i >= 3 && result != true; i--){

 

execScript('on error resume next: result = IsObject(CreateObject("ShockwaveFlash.ShockwaveFlash.'+i+'"))','VBScript');

 

flashversion = i;

 

}

 

}

 

return flashversion;

 

}

 

 

 

function detectFlash(ver) {

 

if (getFlashVersion() >= ver) {

 

return true;

 

} else {

 

return false;

 

}

 

}

 

 

 

// get value of querystring param

 

function getQueryParamValue(param) {

 

var q = document.location.search;

 

var detectIndex = q.indexOf(param);

 

var endIndex = (q.indexOf("&", detectIndex) != -1) ? q.indexOf("&", detectIndex) : q.length;

 

if(q.length > 1 && detectIndex != -1) {

 

return q.substring(q.indexOf("=", detectIndex)+1, endIndex);

 

} else {

 

return "";

 

}

 

}

 

 

 

/* add Array.push if needed */

 

if(Array.prototype.push == null){

 

Array.prototype.push = function(item){

 

this[this.length] = item;

 

return this.length;

 

}

 

}

photos.js

 

CODE
WPGgallery = new Object();

WPGgallery.name = "";

WPGgallery.photographer = "";

WPGgallery.contact = "";

WPGgallery.email = "";

WPGgallery.date = ""

 

WPGgallery.colors = new Object();

WPGgallery.colors.background = "#FFFFFF";

WPGgallery.colors.banner = "#F0F0F0";

WPGgallery.colors.text = "#000000";

WPGgallery.colors.link = "#CCCCCC";

WPGgallery.colors.alink = "#999999";

WPGgallery.colors.vlink = "#999999";

 

gPhotos = new Array();

gPhotos[0] = new Object();

gPhotos[0].filename = "pag%20031b.jpg";

gPhotos[0].ImageWidth = 350;

gPhotos[0].ImageHeight = 346;

gPhotos[0].ThumbWidth = 90;

gPhotos[0].ThumbHeight = 89;

gPhotos[0].meta = new Object();

 

gPhotos[1] = new Object();

gPhotos[1].filename = "pag%20032b.jpg";

gPhotos[1].ImageWidth = 333;

gPhotos[1].ImageHeight = 350;

gPhotos[1].ThumbWidth = 85;

gPhotos[1].ThumbHeight = 90;

gPhotos[1].meta = new Object();

Galeria extremamente versatil e util pois podemos controlar tudo por xml. Acho legal abrir um topico principal com isso porque ja vi varias duvidas iguais e saber colocar o Photoshop pra agilizar sua vida com o Flash deve ser interesse de todos!

 

 

Outro problema, agora esse com relacao a gerar varias galerias diferentes para serem carregadas, por exemplo para diversas categorias de produtos.

Tem como usar os mesmos XML, pastas e js so que colocar para ler em um no diferente dos xml? pq separa por pastas implica mudar caminhos q tb estao no .fla nao seria?

 

Agradeco desde ja pela atencao!

abracos!

http://forum.imasters.com.br/public/style_emoticons/default/grin.gif

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.