Adjust dashing mechanics
parent
da1f38cc88
commit
7eca2f3c16
2
main.c
2
main.c
|
@ -80,8 +80,8 @@ int main()
|
||||||
BeginDrawing();
|
BeginDrawing();
|
||||||
|
|
||||||
ClearBackground(RAYWHITE);
|
ClearBackground(RAYWHITE);
|
||||||
draw_squishy(&sqr);
|
|
||||||
draw_afterimages(&player);
|
draw_afterimages(&player);
|
||||||
|
draw_squishy(&sqr);
|
||||||
|
|
||||||
BeginMode2D(camera);
|
BeginMode2D(camera);
|
||||||
current = kinematic_HEAD;
|
current = kinematic_HEAD;
|
||||||
|
|
10
obj/player.c
10
obj/player.c
|
@ -163,6 +163,7 @@ void player_input_check(struct player_obj *player){
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case LANDING:
|
case LANDING:
|
||||||
|
dash_count = 1;
|
||||||
set_squish_target_offset(player->image, 1, 0);
|
set_squish_target_offset(player->image, 1, 0);
|
||||||
if(frame_counter<land_lag_frames){
|
if(frame_counter<land_lag_frames){
|
||||||
++frame_counter;
|
++frame_counter;
|
||||||
|
@ -171,7 +172,6 @@ void player_input_check(struct player_obj *player){
|
||||||
}
|
}
|
||||||
else{
|
else{
|
||||||
jumps = 1;
|
jumps = 1;
|
||||||
dash_count = 1;
|
|
||||||
frame_counter = 0;
|
frame_counter = 0;
|
||||||
if (state_buffer == JUMP_SQUAT){
|
if (state_buffer == JUMP_SQUAT){
|
||||||
player->state = state_buffer;
|
player->state = state_buffer;
|
||||||
|
@ -192,7 +192,13 @@ void player_input_check(struct player_obj *player){
|
||||||
player->kinematic.velocity.y = dash_vec.y;
|
player->kinematic.velocity.y = dash_vec.y;
|
||||||
++frame_counter;
|
++frame_counter;
|
||||||
if (frame_counter > dash_time_frames){
|
if (frame_counter > dash_time_frames){
|
||||||
|
dash_count = 1;
|
||||||
|
if (!place_meeting(&player->kinematic, (Vector2){0,1})){
|
||||||
player->state = JUMPING;
|
player->state = JUMPING;
|
||||||
|
}
|
||||||
|
else{
|
||||||
|
player->state = RUNNING;
|
||||||
|
}
|
||||||
//allow_friction = true;
|
//allow_friction = true;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
@ -258,6 +264,8 @@ void player_input_check(struct player_obj *player){
|
||||||
//if (player->state != DASHING && !place_meeting(&player->kinematic, (Vector2){0,1}) ){
|
//if (player->state != DASHING && !place_meeting(&player->kinematic, (Vector2){0,1}) ){
|
||||||
if (!place_meeting(&player->kinematic, (Vector2){0,1}) ){
|
if (!place_meeting(&player->kinematic, (Vector2){0,1}) ){
|
||||||
accel.y = GRAV;
|
accel.y = GRAV;
|
||||||
|
if(player->kinematic.velocity.y > 0)
|
||||||
|
player->state = FALLING;
|
||||||
}
|
}
|
||||||
|
|
||||||
move(&player->kinematic, accel);
|
move(&player->kinematic, accel);
|
||||||
|
|
Loading…
Reference in New Issue