Me imagino que si no quieres hacerlo por problemas de tamaño del código no sea:
La solución que te di, sin comentarios ni espacios tiene 18 líneas y 257 caracteres y hace lo mismo que tenías anteriormente, solamente tenía añadido de líneas de más lo que hacía que el movie se moviera con easing y no bruscamente, que era precisamente lo que preguntabas como resolver.
Código :
var listener:Object = new Object();
listener.onKeyDown = function():Void {
switch (Key.getCode()) {
case 39 :
_root.cuadro._x += 25;
break;
case 37 :
_root.cuadro._x -= 25;
break;
case 38 :
_root.cuadro._y -= 25;
break;
case 40 :
_root.cuadro._y += 25;
break;
}
};
Key.addListener(listener);
Y la que tienes hecha ahora, sin espacios ni comentarios tiene 20 líneas y 301 caracteres:
Código :
onClipEvent (load) {
onClipEvent (load) {
_root.up = true;
_root.down = true;
_root.left = true;
_root.right = true;
}
onClipEvent (enterFrame) {
if (Key.isDown(Key.LEFT) && _root.left == true) {
_x -= 25;
}
if (Key.isDown(Key.RIGHT) && _root.right == true) {
_x += 25;
}
if (Key.isDown(Key.UP) && _root.up == true) {
_y -= 25;
}
if (Key.isDown(Key.DOWN) && _root.down == true) {
_y += 25;
}
}
eso sin contar que como te he dicho no está optimizada porque está chequeando todo el tiempo si se ha presionado una tecla cuando esto lo debería hacer solo cuando la presionas.
Amigo, antes de preguntar en un foro, primero piensa si realmente necesitas lo que preguntas, porque si alguien se esfuerza por darte soluciones y las desechas porque de todas formas la solución que tenías no estaba mal, haces a los demás perder el tiempo.