Greetings all!
I’ve got a bit of an aesthetics question that I’m hoping someone can help me with.
In the project I’m working on, we now have enough art assets to require load times upwards of twenty seconds. To alleviate boredom, I’m trying to do something like what I’ve seen many games do: I’m trying to create a sequence of logo pictures that fade in and out as the game is loading. I don’t expect to be able to fade the cards in and out simultaneously with loading (threads be tricky, yo), but I’d like to be able to essentially show the cards, and load a chunk of the game between fade-out fade-in cycles.
In my case, I have three splash screens: “Company name presents” (screen A), “Game Title” (screen B), and “Loading…” screen C). What I’ve done is hand-divided my game loading logic into three functions, afterA, afterB, and afterC. I’d like the sequence of events at the s tart of the game to look like this:
Black screen
fade in A
run afterA function (takes about five seconds)
fade out A
fade in B
run afterB function (takes about seven seconds)
fade out B
fade in C
run afterC function (takes about five seconds)
switch to game-start screen
I attempted to implement this behavior using (a) a single animation, (b) a set of animations that call each other, and © a task that gets “tapped” by the end of the after* functions and triggers the fade-out, fade-in, load animation for the next stage. In all three implementation strategies, I don’t get the fade-in, fade-out effects; the engine fades in A, grinds through the loaders for seventeen seconds, and jumps straight to the game-start screen (or in some variations, fades out A and jumps to the game-start screen).
I suspect the problem is that Panda’s clock is wonderfully aggressive about keeping things time-synchronized, so that by the time an after* function wraps up, the timer knows it needs to blow right through the fade out, fade in animation steps and get right to work on the next after* function. Does anyone know the proper procedure to give Panda some “amnesia” so that it stops counting time when the after* functions are running and starts counting again when the animations need to play? I’m really new to understanding the clock engine; any help would be greatly appreciated!
Take care,
Mark