Fade in + out in the intro
This commit is contained in:
parent
7f039aa4f2
commit
822090b5f5
@ -29,12 +29,26 @@ Intro *load_intro(void) {
|
|||||||
return i;
|
return i;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#define SLIDE_TIME 2.0
|
||||||
|
#define FADE_IN_TIME 0.5
|
||||||
|
#define FADE_OUT_TIME 0.5
|
||||||
void intro_display(Intro *intro) {
|
void intro_display(Intro *intro) {
|
||||||
|
float frame_time, elapsed_time, alpha;
|
||||||
for (int i = 0; i < intro->texture_count; i++) {
|
for (int i = 0; i < intro->texture_count; i++) {
|
||||||
intro->timer = GetTime() + 2.0;
|
intro->timer = GetTime() + SLIDE_TIME;
|
||||||
BeginDrawing();
|
while((frame_time = GetTime()) < intro->timer) {
|
||||||
DrawTexture(intro->textures[i], 0, 0, WHITE);
|
elapsed_time = SLIDE_TIME - (intro->timer - frame_time);
|
||||||
EndDrawing();
|
if (elapsed_time < FADE_IN_TIME)
|
||||||
while(GetTime() < intro->timer) {}
|
alpha = ((FADE_IN_TIME - elapsed_time) / FADE_IN_TIME) * 255.;
|
||||||
|
else if (elapsed_time > SLIDE_TIME - FADE_OUT_TIME)
|
||||||
|
alpha = ((elapsed_time - (SLIDE_TIME - FADE_OUT_TIME)) / FADE_OUT_TIME) * 255.;
|
||||||
|
else
|
||||||
|
alpha = 0;
|
||||||
|
|
||||||
|
BeginDrawing();
|
||||||
|
DrawTexture(intro->textures[i], 0, 0, WHITE);
|
||||||
|
DrawRectangle(0, 0, 800, 450, (Color) { 0, 0, 0, alpha });
|
||||||
|
EndDrawing();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user