Ver Mensaje Individual
  #1 (permalink)  
Antiguo 13/09/2010, 15:49
kro9
 
Fecha de Ingreso: septiembre-2010
Mensajes: 2
Antigüedad: 14 años, 2 meses
Puntos: 0
galeria xml as3

Hola soy nueva en as3 estoy creando una galería de imágenes, ya conseguí que me mostrara las imágenes y que al hacer clic en una aparezca grande, ahora lo que necesito es que en la miniatura aparezca el nombre de la imagen, y cuando aparezca la grande muestre las descripciones de la foto.
Lo que he logrado es que me aparezca solo el ultimo nombre que aparece en el xml.
El código:



stop();
System.useCodepage = true;
XML.prototype.ignoreWhite = true;
import mx.transitions.Tween;

var separacion:Number = 116;

var pagina_actual:Number = 1;
var num_paginas:Number;

var IMG_array:Array;

var miniaturasXML:XML = new XML();
miniaturasXML.onLoad = mostrarMiniaturas;
miniaturasXML.load("productos.xml");
ML
function mostrarMiniaturas():Void {
var col:Number = 0;

IMG_array = this.firstChild.childNodes;

num_paginas = Math.ceil(IMG_array.length/4);
// creo el clip donde meteremos todas las miniaturas
var lienzo:MovieClip = _root.createEmptyMovieClip("lienzo_miniaturas", _root.getNextHighestDepth());
lienzo.cacheAsBitmap = true;
lienzo._x = 262;
lienzo._y = 175;

lienzo.setMask(mascara_mc);

for (var k:Number = 0; IMG_array[k]; k++) {

crearMiniatura(col, fila, k);
nombre_img.text=IMG_array[k].attributes.nombre;
col++;
}
}
function crearMiniatura(columnaF:Number, filaF:Number, k:Number) {

var clip:MovieClip = lienzo_miniaturas.createEmptyMovieClip("foto_"+fil aF+"_"+columnaF, lienzo_miniaturas.getNextHighestDepth());

var mi_mcl:MovieClipLoader = new MovieClipLoader();
var nombre:TextField = new TextField();
var miListener:Object = new Object();
mi_mcl.addListener(miListener);
clip.valor = "aaa";

mi_mcl.loadClip("mini/"+IMG_array[k].attributes.imag, clip);


miListener.onLoadStart = function(target_mc:MovieClip) {

target_mc._alpha = 0;
};
miListener.onLoadProgress = function(target_mc:MovieClip, bytesLoaded:Number, bytesTotal:Number) {

};

miListener.onLoadInit = function(target_mc:MovieClip) {
target_mc._x = (separacion*columnaF)+(100-target_mc._width)*0.5;
target_mc._y = (separacion*filaF)+(100-target_mc._height)*0.5;

clip.onRelease = function() {
verFotoGrande(k);
};

var myTween:Tween = new Tween(target_mc, "_alpha", mx.transitions.easing.Regular.easeOut, 0, 175, 2, true);
};
}
function verFotoGrande(k:Number) {
clearInterval(intervaloColor);

var grande:MovieClip = _root.createEmptyMovieClip("grande_mc",2*IMG_array .length+11);

grande._y = 350;

var grande_mcl:MovieClipLoader = new MovieClipLoader();
var grandeListener:Object = new Object();
grande_mcl.addListener(grandeListener);

grande_mcl.loadClip("originales/"+IMG_array[k].attributes.imag, grande);
grandeListener.onLoadStart = function(target_mc:MovieClip) {

myColor = new Color(target_mc);
myColorTransform = new Object();
myColorTransform = {ra:100, rb:255, ga:100, gb:255, ba:100, bb:255, aa:100, ab:0};
myColor.setTransform(myColorTransform);
};
grandeListener.onLoadProgress = function(target_mc:MovieClip, bytesLoaded:Number, bytesTotal:Number) {

};
grandeListener.onLoadInit = function(target_mc:MovieClip) {

target_mc._x = 173+Math.round((315-target_mc._width)*0.5);

var indiceColor:Number = 255;
intervaloColor = setInterval(cambiarColor, 10);
function cambiarColor() {
myColorTransform = {ra:100, rb:indiceColor, ga:100, gb:indiceColor, ba:100, bb:indiceColor, aa:100, ab:0};
myColor.setTransform(myColorTransform);
indiceColor -= 2;
if (indiceColor == -1) {
clearInterval(intervaloColor);
}
}
};
}

function moverLienzo(posX:Number):Void {
var myTween:Tween = new Tween(lienzo_miniaturas, "_x", mx.transitions.easing.Regular.easeOut, lienzo_miniaturas._x, posX, 1, true);
}

pMenos_btn.enabled = false;
pMenos_btn._alpha = 30;