Me estoy volviendo loco con un problema que seguro es fácil de resolver, pero yo no hago más que enredar al buscar una solución.
Tengo un formulario, con varios pares botón SINO-TextArea.
¿Qué es un botón SINO?
La idea es que el "botón SINO" tenga 2 opciones (SI / NO) y sea como similar a un radiobutton, es decir, si se selecciona SI aparece el TextArea asociado (para que el usuario escriba datos) y si se selecciona el NO desaparece el TextArea. Se pueden tener ambos a la vez sin seleccionar, pero no se puede tener ambas opciones a la vez en SI, sólo una.
Como no me gustan los radiobuttons 'de serie', quise crear el mío propio.
Creé 4 botones normales que sólo tienen 1 estado (SI seleccionado, SI sin seleccionar, No seleccionado, No sin seleccionar). La diferencia entre seleccionado y sin seleccionar es simplemente visual (color de fondo y de borde).
Luego creé un movieclip SINO con 3 estados ( ninguno, SI seleccionado, NO seleccionado) y puse los botones anteriormente creados tal que así:
frame1 ('_ninguno'): El estado 'ninguno' tiene un botón SI no seleccionado y un botón NO no seleccionado // opcion='ninguna'.
frame2 ('_si'): El estado 'SI' tiene un botón SI seleccionado y un botón NO no seleccionado // opcion='SI'.
frame3 ('_no'): El estado 'NO' tiene un botón SI no seleccionado y un botón NO seleccionado // opcion='NO'.
Tengo una variable local al boton (llamada opcion) que guarda el estado (con el valor que veis arriba).
A parte, cada subbotón interno tiene código propio, así que si tenemos p.e. el SINO en el frame1 (donde no hay nada seleccionado) y hago clic en el botón interno si, ejecuto este código:
on(release)
{
gotoAndStop('_si');
}
Es decir, simplemente salta al frame 2, por lo que parece que se active el subbotón SI.
Lo cierto que es más sencillo verlo que explicarlo!! (si quereis posteo el boton)
En fin, el problema.
Ahora quisiera implementar la funcionalidad que hace aparecer y desaparecer el TextArea.
No consigo hacerlo, ya que "desde fuera" no se diferenciar cuando hago clic en los subbotones internos.
Además si meto código, parece que "se desactive" el interno y ya no cambia de estado.
Vaya tocho, espero que se entienda jeje