Foros - Stratos

Programadores => General Programadores => Mensaje iniciado por: Francisquino en 29 de Octubre de 2010, 12:34:11 PM

Título: Duda en AS3: detección de colisiones entre BitmapData y scroll
Publicado por: Francisquino en 29 de Octubre de 2010, 12:34:11 PM
Hola a todos.

Este es mi primer mensaje.

Estoy programando un juego de plataformas en AS 3, por diversión y para aprender AS3 y Flash. He buscado mucha información sobre el tema y estoy usando tiles. He conseguido hacer un scroll con parallax. Para optimizar, he convertido los tiles que se ven en pantalla a un Bitmap (una vista).

El problema se me plantea al detectar las colisiones. Estoy usando detección de colisiones entre BitmapData, para ello uso la función hitTest:

public function hitTest(firstPoint:Point, firstAlphaThreshold:uint, secondObject:Object, secondBitmapDataPoint:Point = null, secondAlphaThreshold:uint = 1):Boolean

Cuando hago el chequeo sin haber realizado scroll funciona correctamente, pero cuando empiezo a mover el protagonista por la pantalla la detección empieza a fallar: detecta la colisión con cierto desplazamiento.

La duda que tengo es el valor de las coordenadas que debo introducir en los puntos de la función hitTest, si deben ser absolutos (incluyendo el desplazamiento del scroll) o relativos a la vista actual.

No se si me habré explicado correctamente.

Un saludo.
Título: Re: Duda en AS3: detección de colisiones entre BitmapData y scroll
Publicado por: tamat en 29 de Octubre de 2010, 01:04:00 PM
mirate la librería flixel, para juegos de plataformas en flash va genial
Título: Re: Duda en AS3: detección de colisiones entre BitmapData y scroll
Publicado por: Francisquino en 02 de Noviembre de 2010, 08:52:13 AM
Gracias. Le he echaré un vistazo, pero la idea es desarrollar todo el código por mi mismo en AS3; me gustaría aprender AS3.

Ya he encontrado la solución: hay que dar coordenadas absolutas. Es decir, para comprobar si dos objetos colisionan, hay que dar sus coordenadas absolutas, no las relativas a la vista.