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

Problema extraño con Colisiones en AS3

Estas en el tema de Problema extraño con Colisiones en AS3 en el foro de Flash y Actionscript en Foros del Web. Saludos a todos. Bueno soy principiante en ActionScript3 y me gustaría poder terminar un minijuego que estoy haciendo, pero me da problemas solamente en un ...
  #1 (permalink)  
Antiguo 03/06/2012, 03:36
 
Fecha de Ingreso: junio-2012
Ubicación: Madrid
Mensajes: 10
Antigüedad: 11 años, 11 meses
Puntos: 0
Problema extraño con Colisiones en AS3

Saludos a todos. Bueno soy principiante en ActionScript3 y me gustaría poder terminar un minijuego que estoy haciendo, pero me da problemas solamente en un momento en la comprobación de colisiones, que evita que pueda jugarse bien.

Os pongo el código y os explico.

Código CSS:
Ver original
  1. private function comprobarColisonesPersonaje (ev:EventoMovimiento):void
  2. {
  3.          var obstaculoTemporal:MovieClip;
  4.          var s:int;
  5.          var d;
  6.          d=personaje.getdirect();
  7.  
  8.  
  9. for (s=0; s<arrayObstaculos.length;s++)
  10. {
  11.            
  12.             obstaculoTemporal=arrayObstaculos[s];
  13.            
  14.             while(HitTest.complexHitTestObject(personaje,obstaculoTemporal,1))
  15.             {
  16.                
  17.                   if(obstaculoTemporal.hitTestPoint(personaje.x+personaje.width/2, personaje.y,true) )
  18.                   {
  19.                                personaje.y--;
  20.                   }
  21.                  
  22.                   /*if(obstaculoTemporal.hitTestObject(personaje) )
  23.                   {
  24.                      
  25.                                personaje.y--;
  26.                   }*/
  27.                  
  28.                   else
  29.                   {
  30.                      if(d==1)
  31.                           this.personaje.x --;
  32.                  
  33.                            if(d==-1)
  34.                             this.personaje.x ++;
  35.                   }
  36.                      
  37.                  
  38.          }
  39.                
  40. }
  41.          
  42. }


Básicamente el juego consiste en generar varios obstáculos y enemigos "random" que te impiden llegar una meta, la cual debes alcanzar lo antes posible.

Esta parte del código controla las colisiones con los obstáculos con al condición de que mientras toque con alguno haga y--, si es por arriba o x-- e x++, si es por izquierda y derecha atendiendo a la dirección del personaje, dejándolo siempre fuera del obstáculo.

El problema se me plantea es en la condición del y--, pues x me lo hace bien. No pilla bien la condición o algo porque siempre me deja al personaje medio hundido, por lo que siempre colisiona y no me hace bien las otras dos condiciones, ni saltar, etc. Pero lo extraño es que no solo me ocurra con hitTestPoint . Si activo la prueba comentada (aunque le faltarían condiciones faltarían condiciones pero sirve para probar), que lo hace con hitTestObject también ocurre lo mismo y si pusiese con complexHitTestObject igual.

Por último indicar que la x e y del personaje está abajo a la izquierda pero me ocurre lo mismo si lo paso al centro o arriba y cambio un poco las condiciones.

Bueno de antemano muchas gracias por vuestra ayuda.

Etiquetas: as3, extraño, movieclip
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 05:34.