Estoy haciendo una animacion que cargará varias piezas muy similares entre si, ademas que cada pieza debe poder ser arrastrada por el usuario (similar a un rompecabezas).
Para esto he creado una clase que se asocia a una imagen (la imagen puede variar), el nombre de la imagen viene como parámetro en el constructor. Lo hice de esta manera porque el comportamiento debe ser el mismo para cada pieza, solo varia la imagen a ser asociada.
La clase que muestro a continuacion, despliega adecuadamente cualquier imagen que se le pase, mi problema es al detectar los eventos del mouse:
Código :
class Pieza extends MovieClip
{
//atributos
var angulo:Number;
var img:MovieClip;
var numero:Number;
var seleccionado:Boolean;
var cara:String;
public function Pieza(rutax:MovieClip, contenedor:String, imgx:String ){
img = rutax.createEmptyMovieClip (contenedor, rutax.getNextHighestDepth () )
img._x = 100;
img._y = 100;
img.loadMovie(imgx);
img.onPress = doDrag;
img.onRelease = doDrop;
}
private function doRollOver():Void {
trace("mouse detectado");
}
private function doDrag():Void {
this.startDrag();
}
private function doDrop():Void {
this.stopDrag();
}
public function set_numero(num:Number):Void{
this.numero = num;
}
public function get_numero():Number{
return this.numero;
}
public function set_seleccionado(b:Boolean):Void{
this.seleccionado = b;
}
public function get_seleccionado():Boolean{
return this.seleccionado;
}
function destroy (){
img.unloadMovie ()
img.removeMovieClip ()
}
}
En mi archivo FLA, lo instancio asi:
Código :
var contenedor:Pieza = new Pieza(this, "contenedor", "cabeza.gif");
Intenté sobrecargar los métodos onPress y onRelease, pero tampoco conseguí resultados:
Código :
private function onPress() {
startDrag(true);
}
private function onRelease() {
stopDrag();
}
En una version anterior, pude mover la pieza asociandolo por medio de la biblioteca, pero eso no me sirve de mucho ya que el número de piezas y la imagen para cada pieza variará de acuerdo al comportamiento del usuario.
Agradezco de antemano cualquier aporte.
Saludos

Zguillez