Ver Mensaje Individual
  #1 (permalink)  
Antiguo 15/06/2011, 05:09
Jonathan_attica
 
Fecha de Ingreso: octubre-2010
Ubicación: madrid
Mensajes: 10
Antigüedad: 14 años, 1 mes
Puntos: 0
Pregunta problema en juego en flash

hola a todos.

estoy empezando con esto de AS y me a surgido un problema:

estoy haciendo un juego para flash donde un bucle genera cada x tiempo (con un TimerEvent) un objeto tipo vehículo y lo añade a un array mediante push.

El caso es que cuando dicho vehículo se sale de la pantalla, no me interesa que siga formando parte del array por que a la hora de recorrerlo para buscar colisiones, no quiero acabar teniendo mil elementos inútiles ( sería una burrada)

entonces he echo lo siguiente:

Código:
public function eliminar():void
		
				{
					for(contador2 =0; contador2<=contador_coches ; contador2++)
					{
					
					if (coches[contador2].x > 900 || coches[contador2].x < (-100) || coches[contador2].y > 700 || coches[contador2].y < (-100) )
					
						 {
							coches.splice(contador2, 1);
							contador_coches--;
						 }
					}
				}
contador coches es una variable tipo static que va almacenando el numero de coches que se generan (contador_coches++ al instanciar un objeto en el Time Event)

Los números que comparo con las coordenadas en el if son los anchos y largos de la pantalla + 100 pixeles). Así detecto si alguno de los objetos del array se sale de la pantalla. en caso de ser así, elimina dicho objeto del array y resta al total coches una unidad.


el caso es que me sale este error:

TypeError: Error #1010: Un término no está definido y no tiene propiedades.
at Juego/eliminar()
at Juego/mov2()
at flash.utils::Timer/_timerDispatch()
at flash.utils::Timer/tick()

donde hace referencia a todos los sitios en los que aparece esta función. Haciendo pruebas creo que el problema esta en "coches[contador2].x". esta mal referirse así a las coordenadas de un objeto??
habría otra forma de hacer esto??

Gracias a todos.