reverse penger
This commit is contained in:
parent
aa565d98a6
commit
ed4b506f52
10
app.c
10
app.c
|
@ -6,6 +6,7 @@
|
|||
#define BLUE 0xffff0000
|
||||
#define BLACK 0xff000000
|
||||
|
||||
#define EPSILON 0.000001f
|
||||
#define GRAVITY 9
|
||||
|
||||
const unsigned int width = 800;
|
||||
|
@ -170,10 +171,12 @@ void draw(float dt)
|
|||
if (keys[ARROW_RIGHT]) {
|
||||
penger_pos.x += speed;
|
||||
if (velocity.x < 0) velocity.x *= -1;
|
||||
else if (velocity.x >= -EPSILON) velocity.x = 1;
|
||||
}
|
||||
if (keys[ARROW_LEFT]) {
|
||||
penger_pos.x -= speed;
|
||||
if (velocity.x > 0) velocity.x *= -1;
|
||||
else if (velocity.x <= EPSILON) velocity.x = -1;
|
||||
}
|
||||
if (keys[ARROW_DOWN])
|
||||
penger_pos.y += speed;
|
||||
|
@ -189,7 +192,10 @@ void draw(float dt)
|
|||
// dessine le penger sur le canva
|
||||
for (int y = 0; y < pengers_height[id]; y++) {
|
||||
for (int i = 0; i < pengers_width[id]; i++) {
|
||||
if (pengers_img[id][y*pengers_width[id] + i] <= 0x00FFFFFF) // pixel transparant
|
||||
int i_for_reverse_pixel_rendering_it_s_craazy = i;
|
||||
if (velocity.x < EPSILON)
|
||||
i_for_reverse_pixel_rendering_it_s_craazy = pengers_width[id]-i-1;
|
||||
if (pengers_img[id][y*pengers_width[id] + i_for_reverse_pixel_rendering_it_s_craazy] <= 0x00FFFFFF) // pixel transparant
|
||||
continue;
|
||||
for (int s1 = 0; s1 < scale; s1++) {
|
||||
for (int s2 = 0; s2 < scale; s2++) {
|
||||
|
@ -197,7 +203,7 @@ void draw(float dt)
|
|||
int idx_y = penger_origin.y + y*scale+s2;
|
||||
if (idx_x < 0 || idx_x >= width || idx_y < 0 || idx_y >= height)
|
||||
continue;
|
||||
BUFFER[idx_y*width + idx_x] = pengers_img[id][y*pengers_width[id] + i];
|
||||
BUFFER[idx_y*width + idx_x] = pengers_img[id][y*pengers_width[id] + i_for_reverse_pixel_rendering_it_s_craazy];
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue