Hola ceaped
Bueno, pues "imagino"
que ese código esta ejecutandose
en el stage (escenario) en cuyo caso yo cambiaría stage por this
Con esto se van los errores, y ahora pruebas y no funciona
es tiempo entonces de reflexionar sobre porque no hace lo que
debe hacer!!! y entonces volvemos a reflexionar que el código
esta en As2 pero estamos probandolo en As3, producto de este
sencillo ejercicio de comparación de versiones, observamos que
el onPress es válido para as2, pero en as3 sería más adecuado
hacer uso de MouseEvent.CLICK (pero para un drag sería mucho más
adecuado un MouseEvent.MOUSE_DOWN), y por supuesto, un complementario
listener que enlace el evento con el objeto y la función a ejecutar,
startDrag en as3 recibe un rectángulo en vez de las coordenadas como
se hacía en as2,
Y asi sucesivamente, es una reacción en cadena, que tiene
su irreversible final en este código
Código actionscript:
Ver original///////////////ZOOM de mapa///////////////////
// s --> smalll --> larged --> drag
// w --> widthh --> height
var sw = 395;
var sh = 380;
var dw = 25;
var dh = 20;
var lw = 400;
var lh = 320;
var porcentaje_zoom = 25;
MovieClip.prototype.move = function(drag_mc)
{
this.addEventListener(Event.ENTER_FRAME, entraframe);
function entraframe(e:Event)
{
with (stage)
{
this._x = -drag_mc._x*100/porcentaje_zoom;
this._y = -drag_mc._y*100/porcentaje_zoom;
}
};
};
with (clip1_mc)
{
drag_mc.addEventListener(MouseEvent.MOUSE_DOWN, drag);
drag_mc.addEventListener(MouseEvent.MOUSE_UP, drop);
function drag(e:MouseEvent)
{
with (this)
{
var rect:Rectangle = new Rectangle(0,0,30,10);
rect.left = 0;
rect.top = 0;
rect.right = sw-dw;
rect.bottom = sh - dh;
//drag_mc.startDrag(false, 0, 0, sw-dw, sh-dh);
this.startDrag(false,rect);
clip1_mc.clip2_mc.move(this);
}
};
function drop(e:MouseEvent)
{
this.stopDrag();
delete this.clip1_mc.clip2_mc.onEnterFrame;
};
}
y pues pruebo y funciona
esta fue una entrega más de "migrando de as2 to as3..." jajaja, espero
te funcione ceaped
saludos