El problema reside en los escuchadores, al crearlo no tengo ningún problema y funciona bien, pero al removerlo no puedo hacerlo utilizando el nombre del objeto, lo hice utilizando la matriz de escuchadores y funciono perfectamente, es ahí dónde no entiendo, toda la literatura y ayuda que encontré indica que al referirme al escuchador por su nombre, debe removerse correctamente.
Por favor revisen el código ¿Algo hice mal? o ¿Alguien a notado este problema anteriormente?
Por último comento que el ejercicio lo hice tanto en MX2004 pro y Flash 8, obteniendo los mismos resultados.
Código :
if( cargado == undefined){
mover = function(cual,cuanto){
nvapos = this[cual]._x + cuanto;
this[cual]._x = nvapos;
trace(cual);
}
habilitar = function(nombre,control){
var teclado:Object = new Object();
teclado.onKeyDown = function() {
tecla = Key.getCode();
if ( tecla == 39){
mover(nombre,10);
}
else if(tecla == 37){
mover(nombre,-10);
}
}
if(control == 0){
Key.addListener(teclado);
largo=Key._listeners;
trace(largo);
}
else if(control == 1){
// Aqui es el problema si quiero usar el nombre de objeto no funciona, así
//como esta funciona perfectamente
anular=Key.removeListener(largo[0]);
trace(control + " "+ anular);
}
}
}
cargado = true;
MovieClip.prototype.onRollOver = function(){
habilitar(this._name,0);
}
MovieClip.prototype.onRollOut = function(){
habilitar(this._name,1);
trace("mouse fuera");
}
stop();
Gracias de antemano, saludos.
Rafael

Zguillez