Claro que no te podía funcionar, si pones en un layer las acciones de los botones que te di, que lo que hacen es un onPress y en los layers de abajo tienes otro onPress en cada botón, el flash se queda con el último, es igual que si dices:
Código :
a = 1;
a = 2;
a = 3;
Pues para flash "a" tendrá valor de 3 y el 1 y el 2 se fueron, lo mismo pasó con el código que te di lo pones en el primer layer y después en los otros pones otro onPress, pues flash se queda con el tuyo. Si quieres probar elimina todos los onPress tuyos que tienes en los layers de abajo y verás que el código que te di funciona.
Ahora si los botones no se animan, no hace falta que estén separados, esto agranda la cantidad de layers por gusto, ubícalos todos en un mismo layer, al igual que las acciones, trata de tenerla todas en un solo layer para que a la hora de buscar algo te sea fácil de encontrar. Recuerda que dentro de los botones tienes puesto _up debajo del stop y esto no es un comando, solamente debe ir como label del frame.
El código que te di lo que hace es un ciclo y le da las mismas acciones a todos los botones, no hace falta que tengas repetido el código para cada botón si todos hacen lo mismo, solamente se diferencian en que le dan un valor diferente a una variable, pues estos valores lo puedes tener en un arreglo y acceder a ellos depende del botón presionado, aquí tienes el código otra vez con este último cambio, elimina todos tus onPress remplaza este código por el que te había dado y te quedará lo que estabas buscando:
Código :
//---Arreglo con las posiciones
var objetivosArray:Array = new Array(-2572, -474, 227, -1872, -1174);
//---Se le da la misma acción de onPress a todos los botones
for (var i:Number = 1; i<=objetivosArray.length; i++) {
this["boton"+i].numero = i;
this["boton"+i].onPress = function():Void {
desactiva(this);
objetivoX = objetivosArray[this.numero - 1];
codigo.gotoAndPlay("mover");
};
}
//---Función de activar o desactivar los botones
function desactiva(boton:MovieClip):Void {
var mc:MovieClip;
for (var i:Number = 1; i<=objetivosArray.length; i++) {
mc = this["boton"+i];
//---Habilitar o deshabilitar el boton
mc.enabled = (mc == boton) ? false : true;
//---Si el botón no es el presionado ir al frame _up
if (mc != boton) {
mc.gotoAndStop("_up");
}
}
}