sdl2dll
Loading...
Searching...
No Matches
sdl::Hitbox Class Reference

Clase para encapsular hitboxes. More...

#include <sdl_hitbox.h>

Public Member Functions

EXPORT Hitbox ()
 Constructor.
 
EXPORT void ResizeT ()
 Redimensiona el vector de formas trasladadas (privado?)
 
EXPORT void InsertShape (const Shape &f)
 Añade una forma al hitbox.
 
EXPORT bool Collision (Hitbox &h)
 Averigua si la hitbox actual colisiona con otra.
 
EXPORT void Move (float alfa, FPoint &displacement, FPoint &escale)
 Mueve la hitbox rotando en ángulo dado y a la distancia especificada, aplicando una escala.
 
EXPORT void Reset ()
 Elimina las formas que componen la hitbox.
 
EXPORT Shape GetShape (int i)
 Obtiene la forma que define el hitbox con el índice dado.
 

Protected Member Functions

bool CollisionCircleCircle (FCircle &c1, FCircle &c2)
 Método privado para averiguar si hay colisión entre dos círculos.
 
bool CollisionRectRect (FRect &r1, FRect &r2)
 Método privado para averiguar si hay colisión entre dos rectángulos.
 
bool CollisionRectCircle (FRect &r1, FCircle &c1)
 Método privado para averiguar si hay colisión entre un círculo y un rectángulo.
 

Protected Attributes

std::vector< Shapehitbox
 
std::vector< ShapehitboxT
 

Detailed Description

Clase para encapsular hitboxes.

Esta clase se usará para el cálculo de colisiones

Member Function Documentation

◆ Collision()

EXPORT bool sdl::Hitbox::Collision ( Hitbox & h)

Averigua si la hitbox actual colisiona con otra.

Parameters
hHitbox& Segunda hitbox para el cálculo
Returns
bool true si ambas hitboxes colisionan

◆ CollisionCircleCircle()

EXPORT bool sdl::Hitbox::CollisionCircleCircle ( FCircle & c1,
FCircle & c2 )
protected

Método privado para averiguar si hay colisión entre dos círculos.

Parameters
c1FCircle& primer círculo
c2FCircle& segundo círculo
Returns
bool true si colisionan

◆ CollisionRectCircle()

EXPORT bool sdl::Hitbox::CollisionRectCircle ( FRect & r1,
FCircle & c1 )
protected

Método privado para averiguar si hay colisión entre un círculo y un rectángulo.

Parameters
r1FRect& rectángulo
c1FCircle& círculo
Returns
bool true si colisionan

◆ CollisionRectRect()

EXPORT bool sdl::Hitbox::CollisionRectRect ( FRect & r1,
FRect & r2 )
protected

Método privado para averiguar si hay colisión entre dos rectángulos.

Parameters
r1FRect& primer rectángulo
r2FRect& segundo rectángulo
Returns
bool true si colisionan

◆ GetShape()

EXPORT Shape sdl::Hitbox::GetShape ( int i)
inline

Obtiene la forma que define el hitbox con el índice dado.

Parameters
iint índice dentro del vector de formas
Returns
EXPORT Shape valor de retorno

◆ InsertShape()

EXPORT void sdl::Hitbox::InsertShape ( const Shape & f)
inline

Añade una forma al hitbox.

Parameters
fShape nueva forma para añadir

◆ Move()

EXPORT void sdl::Hitbox::Move ( float alfa,
FPoint & displacement,
FPoint & escale )

Mueve la hitbox rotando en ángulo dado y a la distancia especificada, aplicando una escala.

Parameters
alfafloat ángulo de rotación
displacementFPoint& desplazamiento
escaleFPoint& escala

◆ ResizeT()

EXPORT void sdl::Hitbox::ResizeT ( )
inline

Redimensiona el vector de formas trasladadas (privado?)

Redimensiona el vector de formas trasladadas para que coincida con el de las formas del hitbox

Member Data Documentation

◆ hitbox

std::vector<Shape> sdl::Hitbox::hitbox
protected

Formas de hitbox normalizadas

◆ hitboxT

std::vector<Shape> sdl::Hitbox::hitboxT
protected

Formas de la hitbox trasladada


The documentation for this class was generated from the following files: