Hace ya bastante que no he usado AS, pero como el dinero (muchas veces) manda y alguien se ha empeñado en pagarme por hacer algo en flash, pues eso...
Mi problema tiene que ver con la creación de clases en AS2, que para mi es un mundo completamente nuevo.
Lo que quiero es un objeto que me cree un clip con una imagen dentro (pasada como parámetro), en las coordenadas dadas (otro parámetro). Ademas quiero que cuando se clicke en esa imagen se habrá un pop-up (lo digo porque es el método que he usado para crear la ventana) con una versión mas grande de la imagen inicial.
Hasta aquí todo funciona a las mil maravillas (+ o -) pero cuando intento hacer varias instancias de mi nueva clase... solo se visualiza la ultima!!! no se si tiene algo que ver con la profundidad donde se han creado los clips o que simplemente hay algo que he hecho completamente del revés por falta de conocimiento. Os paso mi clase para que podais decirme algo (no os riáis demasiado que es la primera
Código :
import mx.containers.Window;
class xPict extends MovieClip {
public function xPict(where,depth:Number, x:Number, y:Number, content:String, width:Number, height:Number) {
//*****
//* Creamos los movieclips necesarios para poner la imagen y la ponemos en las coordenadas dadas
where.createEmptyMovieClip("container", depth);
where.container.createEmptyMovieClip("child", depth);
where.container._x = x;
where.container._y = y;
where.container.child.loadMovie(content);
//*****
//* cuando se clicka en la imagen creamos una ventana con la imagen grande
//* siguiendo estos parametros nombreImgPeq.ext -> nombreImgPegXL.ext
//* cuando se clicka en el boton de la ventana esta desaparece
where.container.onPress = openWindow;
function openWindow ():Void{
where.container.onPress = function ():Void {};
var init_obj = new Object();
var imageName:String = content.split(".")[0];
var imageXLNameExt:String = imageName+"XL."+content.split(".")[1];
// objeto de definicion de atributos para la ventana
init_obj.title = imageName;
init_obj.contentPath = imageXLNameExt;
init_obj.closeButton = true;
//construimos la ventana
var my_win:MovieClip = mx.managers.PopUpManager.createPopUp(where, Window, false, init_obj);
my_win.setSize(width, height);
my_win._x = 512-(width/2);
my_win._y = 384-(height/2);
var lo = new Object();
lo.click = function() {
my_win.deletePopUp();
where.container.onPress = openWindow;
};
my_win.addEventListener("click", lo);
};//openWindow
}//xPict
}
//class xPictP.D.: por cierto otra duda! como acceder a los valores stage.width y stage.height desde dentro de la clase?
Bueno, de nuevo gracias a todos por vuestro tiempo.
