How to make 'show screen' use dissolve transition?

Discuss how to use the Ren'Py engine to create visual novels and story-based games. New releases are announced in this section.
Forum rules
This is the right place for Ren'Py help. Please ask one question per thread, use a descriptive subject like 'NotFound error in option.rpy' , and include all the relevant information - especially any relevant code and traceback messages. Use the code tag to format scripts.
Post Reply
Message
Author
henvu50
Veteran
Posts: 322
Joined: Wed Aug 22, 2018 1:22 am
Contact:

How to make 'show screen' use dissolve transition?

#1 Post by henvu50 » Tue Sep 04, 2018 10:32 am

Code: Select all

show screen customScreen1 with dissolve
Why doesn't this work?

How do I get show screen to use a transition?

User avatar
TAEKO
Newbie
Posts: 21
Joined: Mon Jul 23, 2018 3:24 am
Contact:

Re: How to make 'show screen' use dissolve transition?

#2 Post by TAEKO » Tue Sep 04, 2018 10:44 am

Can I see your screen?
and the traceback?
Don't read me...
Seriously don't.
Just kidding. I'm just an awkward potato who doesn't know what to say in my signature...

DannX
Regular
Posts: 99
Joined: Mon Mar 12, 2018 11:15 am
Contact:

Re: How to make 'show screen' use dissolve transition?

#3 Post by DannX » Tue Sep 04, 2018 11:02 am

Maybe this:

Code: Select all

$ renpy.transition(dissolve)
show screen customScreen1
This is kind of a trick to make renpy show a transition and then directly show the screen. However it's not perfect as the entire screen will transition (other elements will transition too along with the dissolve)

A perhaps better alternative could be to use ATL (with alpha property) directly with the screen displayables:

Code: Select all

#A transform that replicates the dissolve effect
transform dissolve_with_atl(time):

    alpha 0
    linear time alpha 1

#Your screen
screen customScreen1():

    fixed:   #we create a fixed to containt the screen's displayables
        at dissolve_with_atl(1) #and put it 'at' the transform created above
        
        text "Hello" size 50 align (.5,.5) #some displayables for testing
        
Then in your script:

Code: Select all

show screen customScreen1

Post Reply

Who is online

Users browsing this forum: Bing [Bot], Google [Bot], _ticlock_