Gracias Andres la final lo tengo realizado de esta manera,
Depues de todo ya controlo la posicion del recuadro para que no se salga
de el, pero la parte de mover el mc en horizontal y vertical como si
fuese una pieza caballo de ajedrez no lo he conseguido ¿no se como
calcular la distancia para que se mueva primero en X y luego en Y o al
reves?
La funcion updateAfterEvent(enterFrame); se pondria dentro de cada bucle
if para que haga un movimiento mas suave? o con ponerla al final es
suficiente, lo digo por que me pega muchos saltos el MC que sige al
cursor (y aunque lo he probado dentro de cada if sige igual, va como a
tronpicones)
// A cascarla, lo definimos manualmente
var TOP = 30;
var BOTTOM = 280;
var LEFT = 35;
var RIGHT = 435;
pieza.onMouseMove = function() {
//Posicion del raton
Xpos = _root._xmouse;
ypos = _root._ymouse;
Xposca = pieza._x;
yposca = pieza._y;
Xvel = Xpos - Xposca;
yvel = ypos - yposca;
//velocidad
Xmove = Xvel/20;
ymove = yvel/20;
//MOVIMIENTO
//horizontal
if (pieza._x < RIGHT && pieza._x > LEFT) {
pieza._x = Xposca + Xmove;
//updateAfterEvent(enterFrame);
}
else if (pieza._y > TOP || pieza._y < BOTTOM) {
pieza._y = yposca + ymove;
}
/*
if () {
pieza._x = Xposca + Xmove;
updateAfterEvent(enterFrame);
}
/*else if (pieza._y < BOTTOM) {
pieza._y = yposca + ymove;
}
*/
//vertical
/*
if (pieza._y > TOP) {
pieza._y = yposca + ymove;
}
if (pieza._y < BOTTOM) {
pieza._y = yposca + ymove;
}
*/
//COLISION
if (pieza._x > RIGHT) {
pieza._x = RIGHT;
}
else if (pieza._x < LEFT) {
pieza._x = LEFT;
}
if (pieza._y > BOTTOM) {
pieza._y = BOTTOM;
}
else if (pieza._y < TOP) {
pieza._y = TOP;
}
//Actualizar
updateAfterEvent(enterFrame);
};
Saludos. Gracias por las sugerencias.
----------------------------------
Lista ASNativos:asnativos@5dms.com
http://www.5dms.com/listas
----------------------------------