Ver Mensaje Individual
  #1 (permalink)  
Antiguo 03/02/2007, 14:19
cpucpu
 
Fecha de Ingreso: febrero-2005
Ubicación: MEXICO
Mensajes: 455
Antigüedad: 19 años, 2 meses
Puntos: 5
Exclamación Menu (while) se cicla...

Que tal,
en esta ocasion estoy realizando un menu que hace lo siguiente:

al clickear un boton:
aparece y se abre una ventana;
al clikearlo de nuevo se cierra la ventana y se abre nuevamente

El objetivo de esto que el primer boton clickeado abra su respectiva ventana; y los demas botones que se clickeen cierren la ventana que fue abierta anteriormente y abran la suya. (si el mismo boton se presiona de nuevo, lo que pasara, de momento, es que cerrara su ventana y la abrira de nuevo...)

Cabe destacar que cada ventana tiene la misma apariencia, y se encuentra en la misma posicion, es decir, al efectuar la animacion solo cambiara el contenido de la ventana, despues del abrir y cerrar.

La ventana identifica cuando fue abierta y cuando fue cerrada y lo guarda en la variable 'situacion'

Bueno, este es el codigo que utilizo, para el boton que controla a la ventana:

on(release){
//este boton controlara a 'ventana'
with(_root.ventana) {

/*por default, la ventana es invisible, asi que esta es la comprobacion
para hacerla visible*/
if (_visible==false)
_visible = true;

/*estas las comprobaciones de los modos...
donde modo(1) significa que no ha sido abierta por primera vez,
y modo(2) significa que ya fue abierta por primera vez]
la variable modo se encuentra en linea de tiempo principal*/
if(_parent.modo==1) gotoAndPlay("abrir");

//si la ventana ya ha sido abierta...
if(_parent.modo==2){
gotoAndPlay("cerrar");

/*esta deberia ser una comprobacion que verificara
cuando se ha cerrado la ventana, para entonces
volverla a abrir*/

//la explico:

//1.-mientras la ventana no se haya cerrado
while(situacion!="cerrada"){
/*2.-cuando este a punto de cerrarse
[donde 'casicerrada' se encuentra un fotograma
antes que 'cerrada' en su respectiva linea de
tiempo de ventana]*/
if(situacion=="casicerrada"){
//3.-abrela de nuevo
gotoAndPlay("abrir");
/*4.-cambio la situacion a 'cerrada'
para que el ciclo termine*/
situacion="cerrada";
//5.-o lo forzo a salir del while
break;}//cierra if
}//cierra while



} //cierra if
} //cierra with
} //cierra on(release)

bueno pues, creo que el problema esta en el ciclo while, puesto que toda me funciona bien hasta ahi.. (lo compruebo cuando desactivo esa parte del codigo)...
yo supongo que ese while se quedaria a esperar hasta que la ventana "casi se se cerrara para entonces abrila por ultima vez"...pero se me cicla, eso es lo peor por que segun yo se me deberia de salir (del while) con el break..


alguna sugerencia?, gracias.
__________________