Apuntes SGDK: Colisiones entre sprites

Existen dos tipos de colisiones:

1-Colisiones entre sprites

2-Colisiones de sprites contra Tiles

Cuando queremos detectar una colisión entre sprites, solo necesitamos saber si dos rectángulos (área que rodea cada sprite) se toca.

El algoritmo funciona de manera que detecta si hay un agujero en alguno de los 4 lados del rectangulo.

 

void checkcoll(){
   if(miPersonaje.posx < enemigo.posx +enemigo.width &&
    miPersonaje.posx +miPersonaje.width > enemigo.posx &&
    miPersonaje.posy < enemigo.posy + enemigo.height &&
    miPersonaje.height + miPersonaje.posy > enemigo.posy)
    {
        VDP_drawText("colision",0,20);
        VDP_clearTextLine(0);
    } else{
        VDP_clearTextLine(20);
        VDP_drawText("No colision",0,0);
    }

}

Link al mi código de ejemplo https://github.com/robertofocke/Ejemplo-collision-sprite

Fuente: https://developer.mozilla.org/es/docs/Games/Techniques/2D_collision_detection

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *