[ADD] bullet moving after shooting
This commit is contained in:
35
src/main.c
35
src/main.c
@@ -26,7 +26,8 @@ SceCtrlData pad;
|
|||||||
size_t cross_pressed = 0;
|
size_t cross_pressed = 0;
|
||||||
|
|
||||||
size_t bullet_count = 0;
|
size_t bullet_count = 0;
|
||||||
BULLET bullets[4 * sizeof(BULLET)];
|
size_t current_bullet = 0;
|
||||||
|
BULLET bullets[255];
|
||||||
|
|
||||||
vita2d_pgf *pgf;
|
vita2d_pgf *pgf;
|
||||||
vita2d_pvf *pvf;
|
vita2d_pvf *pvf;
|
||||||
@@ -48,6 +49,16 @@ __attribute__((__noreturn__)) void shit_yourself(void)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void generate_bullet()
|
||||||
|
{
|
||||||
|
// {1, x1_pos, y1_pos, RGBA8(100, 100, 0, 255)};
|
||||||
|
bullets[current_bullet].active = 1;
|
||||||
|
bullets[current_bullet].x = x1_pos;
|
||||||
|
bullets[current_bullet].y = y1_pos;
|
||||||
|
bullets[current_bullet].color = RGBA8(100, 100, 0, 255);
|
||||||
|
current_bullet = (current_bullet + 1) % 254;
|
||||||
|
}
|
||||||
|
|
||||||
void init()
|
void init()
|
||||||
{
|
{
|
||||||
/* to enable analog sampling */
|
/* to enable analog sampling */
|
||||||
@@ -61,9 +72,9 @@ void init()
|
|||||||
|
|
||||||
memset(&pad, 0, sizeof(pad));
|
memset(&pad, 0, sizeof(pad));
|
||||||
|
|
||||||
for (int i = 0; i < 4; i++)
|
for (int i = 0; i < 255; i++)
|
||||||
{
|
{
|
||||||
BULLET temp = {0, i * 100, 0, RGBA8(0, i * 50, 255, 255)};
|
BULLET temp = {0, 0, 100, RGBA8(0, i, 255, 255)};
|
||||||
bullets[i] = temp;
|
bullets[i] = temp;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -97,6 +108,19 @@ void update()
|
|||||||
y1_pos = 0;
|
y1_pos = 0;
|
||||||
if (y1_pos >= SCREEN_HEIGTH)
|
if (y1_pos >= SCREEN_HEIGTH)
|
||||||
y1_pos = SCREEN_HEIGTH - 1;
|
y1_pos = SCREEN_HEIGTH - 1;
|
||||||
|
|
||||||
|
// TODO move to seperate file
|
||||||
|
if (cross_pressed)
|
||||||
|
generate_bullet();
|
||||||
|
|
||||||
|
|
||||||
|
for (int i = 0; i < 255; i++)
|
||||||
|
{
|
||||||
|
bullets[i].y -= 100.0 * (deltaTime / 1000.0);
|
||||||
|
|
||||||
|
if (bullets[i].y <= 0)
|
||||||
|
bullets[i].active = 0;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void draw()
|
void draw()
|
||||||
@@ -117,6 +141,11 @@ void draw()
|
|||||||
|
|
||||||
vita2d_pvf_draw_text(pvf, 700, 80, RGBA8(0, 255, 0, 255), 1.0f, fps);
|
vita2d_pvf_draw_text(pvf, 700, 80, RGBA8(0, 255, 0, 255), 1.0f, fps);
|
||||||
|
|
||||||
|
for (int i = 0; i < 255; i++)
|
||||||
|
{
|
||||||
|
sprites_draw_bullet(&bullets[i]);
|
||||||
|
}
|
||||||
|
|
||||||
vita2d_end_drawing();
|
vita2d_end_drawing();
|
||||||
vita2d_swap_buffers();
|
vita2d_swap_buffers();
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user