Ver Mensaje Individual
  #1 (permalink)  
Antiguo 24/03/2009, 05:56
Huxxley
 
Fecha de Ingreso: marzo-2009
Mensajes: 1
Antigüedad: 15 años, 1 mes
Puntos: 0
Ayuda con onEnterFrame

Hola,

Antes de nada decir que soy novato en Flash y en ActionScript 2, por eso es posible que mi problema sea algo fácil de solucionar, pero llevo intentándolo varios días y no doy con la fórmula correcta.

La cosa es que ando haciendo un juego muy sencillo en el que, diferentes movieclips se van moviendo verticalmente por la pantalla, hasta llegar a un punto que es cuando se pierde el juego. Hasta ahí todo bien, consigo el movimiento mediante el "onEnterFrame", le doy distinta velocidad a partir de variables y utilizo los "if" para que cuando la posición de la "y" sea mayor o igual a un número salga la pantalla de game over. El problema está en que, para ganar el juego, hay que ir clicando sobre los objetos que van apareciendo por la pantalla para eliminarlos. Sé que lo que debo conseguir es que, el objeto deje de moverse para que no llegue al punto en el que la partida se termina, y a la vez ocultarlo con el "_visible=false" para que desaparezca de la pantalla, pero he intentado varias formas y no he conseguido nada que funcione correctamente.

Al principio intenté parar los movieclips con "delete onEnterFrame" pero me di cuenta que haciendo esto, lo único que hacía era parar todos los movieclips a la vez, y no uno a uno, así que, probé aplicando "velocidad = 0" al ejecutar el (onPress), pero me pasa exactamente lo mismo, no me para el objeto clicado si no, todos los que llevan esa misma variable. No sé si es porque debo asignar una variable llamada velocidad distinta a cada objeto o si es que hay algo mucho más sencillo que me estoy saltando...

Os pongo el último código que he utilizado por si no me explicado correctamente (Pongo tan sólo dos movieclips, para no hacer el tema más extenso).

Código:
var velocidad : Number = -10;
var puntos : Number = 0;

_root.onEnterFrame=function(){
	_root.p9._y+=velocidad;
	
		if(_root.p9._y<=10){
		_root.gotoAndStop(2);
	}

_root.p8._y+=velocidad;
	
		if(_root.p8._y<=10){
		_root.gotoAndStop(2);
	}
}

_root.p9.onPress=function(){
	velocidad = 0;
	_root.p9.gotoAndPlay(49);
	_root.flup.gotoAndPlay(2);
	puntos++;
}

_root.p8.onPress=function(){
	velocidad = 0;
	_root.p8.gotoAndPlay(49);
	_root.flup.gotoAndPlay(2);
	puntos++;
}


Espero haberme explicado bien y que podáis ayudarme...

Gracias de antemano!

Saludos!