fix: bullet steped angle
This commit is contained in:
parent
3c076f85ae
commit
2f80a81ceb
10
main.c
10
main.c
|
@ -24,7 +24,7 @@ typedef struct Vec2i {
|
||||||
} Vec2i;
|
} Vec2i;
|
||||||
|
|
||||||
typedef struct Bullet {
|
typedef struct Bullet {
|
||||||
Vec2i coord;
|
Vector2 coord;
|
||||||
float angle;
|
float angle;
|
||||||
float lifetime;
|
float lifetime;
|
||||||
} Bullet;
|
} Bullet;
|
||||||
|
@ -89,7 +89,7 @@ int point_rec_collision(Vec2i point, Rectangle rec)
|
||||||
(point.y >= rec.y && point.y <= rec.y + rec.height);
|
(point.y >= rec.y && point.y <= rec.y + rec.height);
|
||||||
}
|
}
|
||||||
|
|
||||||
Vec2i move_forward_angle(Vec2i origin, float angle, float step)
|
Vector2 move_forward_angle(Vector2 origin, float angle, float step)
|
||||||
{
|
{
|
||||||
float rad = DEG_TO_RAD(angle);
|
float rad = DEG_TO_RAD(angle);
|
||||||
origin.x += sin(rad) * step;
|
origin.x += sin(rad) * step;
|
||||||
|
@ -214,9 +214,9 @@ float vector_angle(Vector2 base, Vector2 point)
|
||||||
return ABS(pad - RAD_TO_DEG(atan(y / x)));
|
return ABS(pad - RAD_TO_DEG(atan(y / x)));
|
||||||
}
|
}
|
||||||
|
|
||||||
Vec2i map_to_screen_coord(Vec2i coord)
|
Vector2 map_to_screen_coord(Vector2 coord)
|
||||||
{
|
{
|
||||||
Vec2i r = {.x = map_coord.x + coord.x, .y = map_coord.y + coord.y};
|
Vector2 r = {.x = map_coord.x + coord.x, .y = map_coord.y + coord.y};
|
||||||
return r;
|
return r;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -282,7 +282,7 @@ int main(void)
|
||||||
Bullet *b = &bullets[i];
|
Bullet *b = &bullets[i];
|
||||||
if (b->lifetime > 0.0f) {
|
if (b->lifetime > 0.0f) {
|
||||||
b->lifetime -= DT;
|
b->lifetime -= DT;
|
||||||
Vec2i co = map_to_screen_coord(b->coord);
|
Vector2 co = map_to_screen_coord(b->coord);
|
||||||
DrawTexturePro(
|
DrawTexturePro(
|
||||||
bullet,
|
bullet,
|
||||||
(Rectangle) {0, 0, bullet.width, bullet.height},
|
(Rectangle) {0, 0, bullet.width, bullet.height},
|
||||||
|
|
Loading…
Reference in New Issue