Collisiones

GL_Sprite::SetCollision(_v : bool)

Permite indicar si queremos que un sprite sea detectado en colisiones o no.

GL_Sprite::SetCollisionRect(_x : int, _y : int, _w : int, _h : int)

Establecemos el rectángulo de colisión del sprite, o sea, el área rectangular que define la colisión del sprite. Por defecto este área se inicializa al tamaño del sprite que se obtiene de los frames.

GL_Sprite::AddColliderRect(_x : int, _y : int, _w : int, _h : int) : pointer

Agregamos nuevos rectángulos de colisión. Devuelve un puntero a un GL_Sprite::ColliderRect.

GL_Sprite::SetColliderMode(_v : bool, _types : int = -1)

Establecemos que este sprite va a gestionar colisiones o sea, va a encargarse de mirar si el sprite detecta colisiones con otros sprites de un tipo determinado o de cualquier tipo (-1) y que tengan su SetCollision a verdadero.

GL_Sprite::SetUserSpriteCollision(_ctx : pointer, _func : string)

Indicamos una función callback a la que queremos llamar cuando detectamos colisión con otro sprite. Si decidimos que un sprite sea el que gestione la detección de colisiones con otros sprites, la forma de obtener estos sprites sería definiendo este callback. El prototipo del callback es: OnSpriteCollision (sprSelf, sprOther)

GL_Sprite::IsColliding() : bool

Permite saber si un sprite en modo «collider» está colisionando con algún sprite o no.

GL_Sprite::CheckCollisionWithSprite(_spr : pointer, _offx : int = 0, _offy : int = 0) : bool

Comprueba colisión entre dos sprites. La función devuelve un booleano indicando si ha existido colisión con «_spr». Se toma en consideración un offset para poder trasladar el área de colisión del sprite que invoca el método.

GL_Sprite::CreateCollider() : pointer

Crea un objeto «gl_collider» donde el target es el propio sprite que invoca el método. Un collider es un controlador de colisiones. Sería parecido a usar un sprite en modo «SetColliderMode». Un collider nos da la ventaja de poder acceder a más información y controlar las colisiones con más detalle.

es_ESSpanish