xlib_playground

Unnamed repository; edit this file 'description' to name the repository.
Log | Files | Refs

commit d97747aff8b014fc43501ad4923228c8848634fa
parent 4183d6fc6b496a0c056f65e0ebf1d5c67c8cf903
Author: Matsuda Kenji <info@mtkn.jp>
Date:   Mon, 19 Dec 2022 08:26:00 +0900

add previous position

Diffstat:
Mmain.c | 12++++++++----
Mobj.h | 4++++
2 files changed, 12 insertions(+), 4 deletions(-)

diff --git a/main.c b/main.c @@ -313,10 +313,14 @@ handle_collision(void) square->py < block->py + block->height){ if (block->px < square->px + square->width && square->px < block->px + block->width){ - if (square->vx > 0) - block->px = square->px + square->width; - else - block->px = square->px - block->width; + if (square->ppx + square->width <= block->ppx + block->width/2){ + obj_move(block, square->px + square->width, block->py); + printf("hello\n"); + } + else if (block->ppx <= square->ppx - block->width/2){ + obj_move(block, square->px - block->width, block->py); + printf("world\n"); + } } } } diff --git a/obj.h b/obj.h @@ -37,6 +37,8 @@ Obj void obj_move(Obj *obj, float px, float py) { + obj->ppx = obj->px; + obj->ppy = obj->py; obj->px = px; obj->py = py; } @@ -44,6 +46,8 @@ obj_move(Obj *obj, float px, float py) void obj_next_tick(Obj *obj, float dt) { + obj->ppx = obj->px; + obj->ppy = obj->py; obj->vx += obj->ax * dt; obj->vy += obj->ay * dt; obj->px += obj->vx * dt;