Hola
imagino haces los checkbox manualmente
hasta donde conozco eso es un hermoso bug de as2
cuando chequeas el selected es false y cuando le
quitas la selección pasa a true
esto siempre y cuando se use el nombre del check literalmente,
si usas esto this["check" + i].selected estará como undefined en algún punto
puedes hacer una de dos
0. en tus funciones, usar los nombres de los checks literalmente, no con this
y haciendo los values contrarios (cuando necesites true buscar false y viceversa)
1. cambiar el modo de la función de los botones (usando listeners) y los nombres de
los autos en un array, y tal vez mejorar tu función de mostrarAutos, así:
Código actionscript:
Ver originalfunction escondeAuto() {
for(var i = 1; i < 8; i++) {
this["auto" + i]._visible = false;
}
}
var autos:Array = new Array(auto1,auto2,auto3,auto4,auto5);
escondeAuto();
var muestraAuto:Object = new Object();
muestraAuto.click = function(e:Object){
var nombrecheck = String(e.target);
var id = nombrecheck.substr(nombrecheck.indexOf('k')+1,nombrecheck.length);
if (e.target.selected)
{
autos[id-1]._visible = true;
}
else
{
autos[id-1]._visible = false;
}
}
for(var i = 1; i < 8; i++) {
this['check'+i].addEventListener('click',muestraAuto);
}
Si hicieras esto para asignar valores al array autos
Código actionscript:
Ver originalvar autos:Array = new Array();
for(var i = 1; i < 8; i++) {
autos[i] = 'auto'+i;
}
la función dejaría de funcionar correctamente,
imagino más bugs de as2, pues por ej si hago esto
Código actionscript:
Ver originalfor(var i = 1; i < 8; i++) {
this["check"+i].visible = false;
}
al arrancar el swf lo hace bien, pero si lo pusiera dentro de la función de clic
no lo hace
en fin, espero te sirva
saludos