tarot: avoid mandatory function call on every tick (#185)
This commit is contained in:
parent
8d20b46fec
commit
3cd8e5c47e
@ -179,30 +179,28 @@ static void pick_cards(tarot_state_t *state) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
static void display_animation(tarot_state_t *state) {
|
static void display_animation(tarot_state_t *state) {
|
||||||
if (state->is_picking) {
|
if (state->animation_frame == 0) {
|
||||||
if (state->animation_frame == 0) {
|
watch_display_string(" ", 7);
|
||||||
watch_display_string(" ", 7);
|
watch_set_pixel(1, 4);
|
||||||
watch_set_pixel(1, 4);
|
watch_set_pixel(1, 6);
|
||||||
watch_set_pixel(1, 6);
|
state->animation_frame = 1;
|
||||||
state->animation_frame = 1;
|
} else if (state->animation_frame == 1) {
|
||||||
} else if (state->animation_frame == 1) {
|
watch_clear_pixel(1, 4);
|
||||||
watch_clear_pixel(1, 4);
|
watch_clear_pixel(1, 6);
|
||||||
watch_clear_pixel(1, 6);
|
watch_set_pixel(2, 4);
|
||||||
watch_set_pixel(2, 4);
|
watch_set_pixel(0, 6);
|
||||||
watch_set_pixel(0, 6);
|
state->animation_frame = 2;
|
||||||
state->animation_frame = 2;
|
} else if (state->animation_frame == 2) {
|
||||||
} else if (state->animation_frame == 2) {
|
watch_clear_pixel(2, 4);
|
||||||
watch_clear_pixel(2, 4);
|
watch_clear_pixel(0, 6);
|
||||||
watch_clear_pixel(0, 6);
|
watch_set_pixel(2, 5);
|
||||||
watch_set_pixel(2, 5);
|
watch_set_pixel(0, 5);
|
||||||
watch_set_pixel(0, 5);
|
state->animation_frame = 3;
|
||||||
state->animation_frame = 3;
|
} else if (state->animation_frame == 3) {
|
||||||
} else if (state->animation_frame == 3) {
|
state->animation_frame = 0;
|
||||||
state->animation_frame = 0;
|
state->is_picking = false;
|
||||||
state->is_picking = false;
|
movement_request_tick_frequency(1);
|
||||||
movement_request_tick_frequency(1);
|
tarot_display(state);
|
||||||
tarot_display(state);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -246,7 +244,9 @@ bool tarot_face_loop(movement_event_t event, movement_settings_t *settings, void
|
|||||||
tarot_display(state);
|
tarot_display(state);
|
||||||
break;
|
break;
|
||||||
case EVENT_TICK:
|
case EVENT_TICK:
|
||||||
display_animation(state);
|
if (state->is_picking) {
|
||||||
|
display_animation(state);
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
case EVENT_MODE_BUTTON_UP:
|
case EVENT_MODE_BUTTON_UP:
|
||||||
movement_move_to_next_face();
|
movement_move_to_next_face();
|
||||||
|
Loading…
x
Reference in New Issue
Block a user