very bad collision(work in progress)
This commit is contained in:
48
src/collision.c
Normal file
48
src/collision.c
Normal file
@@ -0,0 +1,48 @@
|
||||
#include "world.h"
|
||||
#include <math.h>
|
||||
#include "config.h"
|
||||
#include "collision.h"
|
||||
#include "player.h"
|
||||
|
||||
void checkCollision(){
|
||||
float playerx=0.0;
|
||||
float playery=0.0;
|
||||
float plrsize=0.0;
|
||||
for (int i = 0; i < MAX_ENTITIES; i++){
|
||||
Entity *e = &entities[i];
|
||||
|
||||
if (!e->active)
|
||||
continue;
|
||||
if(e->isPlayer == false){
|
||||
float objposx=e->position.x;
|
||||
//float objposy=e->position.y;
|
||||
float objsize=e->size;
|
||||
|
||||
if(playerx-(plrsize/2)<objposx+(objsize/2) && playerx-(plrsize/2)>objposx-(objsize/2)){
|
||||
ApplyForce(
|
||||
e,
|
||||
(Vector2){10000, 1000}
|
||||
);
|
||||
if(dir){
|
||||
ApplyForce(
|
||||
player,
|
||||
(Vector2){(curhorvel*3), 1000}
|
||||
);
|
||||
}
|
||||
else{
|
||||
ApplyForce(
|
||||
player,
|
||||
(Vector2){-(curhorvel*3), 1000}
|
||||
);
|
||||
}
|
||||
}
|
||||
}
|
||||
else{
|
||||
playerx=e->position.x;
|
||||
playery=e->position.y;
|
||||
if(playery==playery)
|
||||
|
||||
plrsize=e->size;
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user