Dentro de una acción de controlador de eventos
on asociada a un botón,
this se refiere a la línea de tiempo que contiene el botón. Dentro de una acción de controlador de eventos
onClipEvent() asociada a un clip de película,
this se refiere a la línea de tiempo del propio clip de película.
(lo anterior obtenido de la ayuda de flash)
Por lo tanto no puedes usar el
this._name o cualquier
this.algo para obtener propiedades del botón, porque en realidad estarias tomando las propiedades del clip que contiene el botón.
Entonces, te recomiendo que no uses botones, que uses movieclips (convierte tus botones a movieclips), y que programes el rollOver y rollOut de estos para que tengan funcionalidad de boton, si es que tienen alguna animación:
Usa el codigo posteado anteriormente, unicamente tienes que definir en que linea de tiempo se encuentran tus movieclips, te sugiero que metas todos los movieclips que funcionan como boton dentro de un movieclip (solo los botones):
(en el siguiente codigo se asume que todos los movieclips que funcionan como boton se encuentran dentro del movieclip llamado mcBotones y que éste movieclip está en la línea de tiempo principal . raiz):
Código :
for (Btn in _root.mcBotones) {
if (_root.mcBotones[Btn] instanceof Button) {
trace(Btn); // aqui se muestra el nombre del boton
_root.mcBotones[Btn].onPress = function () {
// aqui va el codigo que quieres que realice con el nombre, por ejemplo
_root.ClicBtn(this._name);
}
_root.mcBotones[Btn].onRollOver = function () {
this.gotoAndStop(2);
}
_root.mcBotones[Btn].onRollOut = function () {
this.gotoAndStop(1);
}
}
}