I may end up changing it if it seems too irritating to have forced, albeit brief, transitions throughout the game, but I want to try to successfully code it for the sake of getting it right, even if I end up not using it.
Currently, I'm trying to use MultipleTransition, and this is contained in my init before the game starts:
Code: Select all
$ slow_fade = Fade(0.6, 0.9, 0.6)
$ pause_1 = Pause(2.0, hard=True)
$ fadehold = MultipleTransition([False, slow_fade, True, pause_1, True])
$ slow_diss = Dissolve(1.0)
$ pause_2 = Pause(0.9, hard=True)
$ scene_diss = MultipleTransition([False, slow_diss, True, pause_2, True])
That code errors (the first transition of the two called is the scene_diss) and says that 'hard' is undefined - I believe because you can't do a "hard pause" with Pause(#). However, if I change the line to
Code: Select all
$ pause_1 = renpy.pause(2.0, hard=True)
$ pause_2 = renpy.pause(0.9, hard=True)
What I'm getting from those two facts is that you can't use a forced pause in MultipleTransition simply because renpy.pause is not allowed, and Pause(#) doesn't allow the pause to be forced. Of course, I think MultipleTransition may do the pause after the first transition anyways, so that may not be the correct way to go about it at all.
I tried doing a transform like the following:
Code: Select all
transform fadehold(old_widget=None, new_widget=None):
Fade(0.6, 0.9, 0.6)
pause 2.0
transform scene_dissolve(old_widget=None, new_widget=None):
Dissolve(1.0)
pause 0.9
I added the things with old_widget and new_widget because the code errors without it, saying that the parameters are unknown. If I get rid of the "=None" on them and leave them as variables, and then apply the old scene and the new scene in the transform like so
Code: Select all
scene pc_room with scene_dissolve("black", "pc_room")
I tried doing some stuff with init python instead of just init and defining functions, but I'm even less sure of how to do things on that than I am general ATL (this is my very first game, not only on Renpy but in general, so I'm learning everything as I go), so I'm not posting that for now.
***
So, just to clarify, I want to have a transition and a forced pause at the same time (basically, an un-skippable transition). I'm not sure if MultipleTransition is the correct way to go, because it sounds like the pause will come AFTER the skippable transition, but I'm not sure - maybe there's a way to make it work with that.
Above are the different ways I've tried to make this work, along with the errors I receive with them.
I know I could technically wire in a forced pause after each transition (or so people on the forums have said), but if I do end up keeping it, I don't want to waste that many lines of code for who knows how many transitions. I will if I have to, but I'd prefer a more efficient way, especially since my non-forced-pause transitions are custom anyways, so it would be nice to have it all wrapped up into one.
Sorry this is so long, but I hope I've covered everything and that I make sense! If you need clarification just ask, obviously.