It seems you've already been given the right answer a couple of times already, but I thought it might help to understand why they're the right answers.
The simple answer is that RenPy leaves the latest background image on screen until it's told to replace it.
(actually it's not JUST the background image - but let's keep this simple)...
So this is pretty normal for a RenPy script:
Python:
label start:
scene mypicture01 with fade
"dialogue 1"
"dialogue 2"
"more dialogue"
scene mypicture02 with dissolve
"dialogue 4"
"*** THE END ***"
return
The first 3 lines are shown against the background image
mypicture01
and the final 2 lines are delivered while
mypicture02
is being shown.
Now just imagine that
mypicture01
is an animation instead of a static image... the animation (usually loops) in the background until the player advances to
mypicture02
. That's it... just do that and your animation continues to play, while the player is reading the text.
My preferred method is to actually show the animation for a few seconds (using a timed
pause
) before the first line of dialogue is overlaid on top of it.
Python:
label start:
scene myanimation01 with fade
pause 2.5
"dialogue 1"
"dialogue 2"
"more dialogue"
scene mypicture02 with dissolve
"dialogue 4"
"*** THE END ***"
return
If the animation loops, I'd normally show it for 2 or 3 seconds before showing the first first line of dialogue. If the animation doesn't loop, I'd probably aim to show 80% to 90% of it before continuing (i.e. for a 8 second animation, I might use
pause 6.5
after it). This is all very much personal preference though.
For reference, ATL is just a way of creating a specific type of animation... usually by looping through a series of static images with a tiny pause between each picture. (A lot like the old animations done by drawing a series of stickman images in the corner of a book and using your thumb to flip through the images quickly).
A looping ATL animation might look like:
Python:
image ch1_mast:
"bg_ch1_mast5.png"
pause 0.25
"bg_ch1_mast6.png"
pause 0.25
"bg_ch1_mast7.png"
pause 0.25
"bg_ch1_mast8.png"
pause 0.25
repeat
# much later...
scene ch1_mast with dissolve
pause 3.0
"ooooooOOOOOO!!!!"
I'm not entirely sure the
window hide
and
window show
are needed (I could be wrong). But as I understand things... the
scene
command automatically does
window hide
and the next line of dialogue automatically does a
window show
. So when a
scene
is immediately followed by a line of dialogue without any sort of pause happening (including a transition), it happens so fast that you never see the dialogue window disappear.