Foros del Web » Creando para Internet » Flash y Actionscript »

Duda con una Variable

Estas en el tema de Duda con una Variable en el foro de Flash y Actionscript en Foros del Web. estoy siguiendo un ejemplo y este es mi codigo Código: package { import flash.display.MovieClip; import flash.events.Event; import flash.events.MouseEvent; public class Principal extends MovieClip { public ...
  #1 (permalink)  
Antiguo 11/04/2012, 09:54
 
Fecha de Ingreso: octubre-2009
Mensajes: 125
Antigüedad: 14 años, 6 meses
Puntos: 2
Pregunta Duda con una Variable

estoy siguiendo un ejemplo y este es mi codigo


Código:
package 
{

	import flash.display.MovieClip;
	import flash.events.Event;
	import flash.events.MouseEvent;


	public class Principal extends MovieClip
	{

		public static const STATE_INIT:int = 10;
		public static const STATE_PLAY:int = 20;
		public static const STATE_GAME_OVER:int = 30;
		public var gameState:Number = 0;
		public  var clicks:Number = 0;


		public function Principal()
		{
			addEventListener(Event.ENTER_FRAME, gameLoop);
			gameState = STATE_INIT;
		}


		public function gameLoop(evt:Event):void
		{
			switch (gameState)
			{
				case STATE_INIT :
					initGame();
					break;

				case STATE_PLAY :
					playGame();
					break;

				case STATE_GAME_OVER :
					gameOver();
					break;
			}
		}


		public function initGame():void
		{

			stage.addEventListener(MouseEvent.CLICK, onMouseClick);
			clicks = 0;
			gameState = STATE_PLAY;
		}

		public function playGame():void
		{
			if (clicks > 9)
			{
				gameState = STATE_GAME_OVER;

			}

		}

		public function onMouseClick(evt:MouseEvent):void
		{
			clicks++;
			trace(clicks);
		}

		public function gameOver():void
		{
			stage.removeEventListener(MouseEvent.CLICK, onMouseClick);
			gameState = STATE_INIT;
			trace("juego terminado");
		}






	}

}
lo unico que hace es que al hacer 10 clicks en el stage muestra un mensaje de juego terminado.


ahora viene mi duda:

Código:
		public function initGame():void
		{

			stage.addEventListener(MouseEvent.CLICK, onMouseClick);
			clicks = 0;
			gameState = STATE_PLAY;
		}
en esta función se pone la variable clicks en 0, menciono que hasta arriba he declarado la misma variable y la inicialice en 0

ahora que pasa si en esa funcion comento ese clicks = 0.

el juego funciona bien pero al terminar el juego, el evento enter_frame se sigue ejecutando, mostrandome:

juegos terminado
juegos terminado
juegos terminado
juegos terminado

una y otra vez y si descomento ese clicks = 0 cuando el juego termina solo me muestra una sola vez

juegos terminado y ya.

la pregunta es por que

espero me puedan ayudar
  #2 (permalink)  
Antiguo 11/04/2012, 10:02
 
Fecha de Ingreso: octubre-2009
Mensajes: 125
Antigüedad: 14 años, 6 meses
Puntos: 2
Respuesta: Duda con una Variable

jejeje ya lo he entendido en la funcion

Código:
public function gameOver():void
		{
			stage.removeEventListener(MouseEvent.CLICK, onMouseClick);
			gameState = STATE_INIT;
			trace("juego terminado");
			trace(clicks);
		}

se llama a initGame() donde la variable clicks se reinicia a 0

Etiquetas: as3
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 21:59.