studio

FolioTier 2

@slide

Push the old background off the frame (left by default, or up, right or down) while the new one slides in behind it; sprites stay put. Only a `bg` line's `with slide(seconds)` spells it.

Use slide when a background change should feel like moving through space rather than blending: walking from one room into the next, panning along a street, or turning to a new view. The old backdrop is pushed off the frame while the new one enters from the opposite edge over the same duration, and sprites, the textbox and everything else on stage hold still. By default the old art exits to the left, so the new one arrives from the right.

Slide belongs to a bg line alone. Write bg <image> with slide(seconds), or pick Slide in the Background event's Transition field in Forge. The short default keeps a room-to-room move brisk; stretch it toward the top of the range when the journey itself should register.

The direction parameter, shown as a row of four arrow buttons under the Transition field, sets where the old backdrop goes: left, up, right or down. Keep left or right for moving along a hallway or street, and choose up or down for vertical moves such as climbing stairs, looking up at the sky or dropping into a basement. Write it as slide(0.8, direction=up); the default left is never written.

The curve parameter, shown as the Motion dropdown, sets how the push eases. The default slide starts and stops smoothly and suits most walks; linear gives a steady mechanical pan, accel gathers speed like a rush out the door, and decel arrives gently like settling into a new place. Overshoot, bounce and elastic add a playful landing; save them for comic or energetic beats. Write it as slide(0.8, curve=bounce); the default is never written.

There is no @slide(...) effect line and no transition slide: block; the parser rejects both. Like the other background transitions, a slide lets the next event run while it plays. Enable Wait for it to finish, or add wait=true inside the call, to hold the story until the push ends.

Vertical slides travel the frame's height rather than its width, so at the same duration an up or down slide moves slower than a left or right one. Overshoot and elastic briefly carry the incoming art past its resting place, so a thin strip of the stage color shows at the trailing edge, the side the new art entered from, before it settles.

The slide plays only when the story moves forward onto the new background. Back restores the earlier backdrop at once with no reverse slide, and reduced motion turns it into a cut. Ren'Py imports never produce a slide: slideleft, pushleft and their relatives move the whole scene in Ren'Py, sprites included, so they still approximate to a dissolve.

Parameters

ParameterKindRequiredDefaultNotes
durationnumberno0.60.1-3 seconds. Default 0.6.
curvestringnoslideOne of: linear, slide, accel, decel, overshoot, bounce, elastic. Default slide.
directionstringnoleftOne of: left, up, right, down. Default left.
waitbooleannotrueBlock for the effect's duration when true; false fires and continues so effects can overlap.

Canonical example

bg bg-hallway
say "Emma": "Let's check the next room."
bg bg-classroom with slide(0.8)
say "Emma": "Empty."

@slide is the runtime effect a background's with slide lowers to. The outgoing backdrop moves off the frame in the slide's direction while the incoming one enters from the opposite edge, both over the same duration. By default it moves left, so the new art comes in from the right. Sprites, the textbox and anything else on stage do not move. The next line runs while it plays unless the slide waits (see Notes).

Notes

Background only. Write bg <image> with slide(0.8), or pick Slide in the Background event's Transition field in Forge. There is no @slide(...) effect line and no transition slide: block; the parser rejects both as errors. Bare slide = the 0.6s default.

Motion. curve= picks how the push eases, from the same list as a sprite move minus Instant: linear, slide (the default, a smooth start and stop), accel, decel, overshoot, bounce and elastic. Forge shows it as the Motion dropdown under the Transition field. Write bg <image> with slide(0.8, curve=bounce); the default is never spelled. Overshoot and elastic briefly carry the incoming art past its resting place, so a thin strip of the stage color shows at the trailing edge.

Direction. direction= picks where the old backdrop goes: left (the default), up, right or down; the new one always enters from the opposite edge. Forge shows it as a row of four arrow buttons under the Transition field. Write bg <image> with slide(0.8, direction=up); the default is never spelled. Vertical slides travel the frame's height, so at the same duration they move slower than horizontal ones.

Forward only. The slide plays when the story moves forward onto the new background. Stepping back with Back restores the earlier background at once, without sliding.

Waiting. Like the other background transitions, a slide lets the next event run while it plays. Enable Wait for it to finish (wait=true inside the call) to hold the story until the slide ends.

Reduced motion turns the slide into a cut.

Ren'Py imports do not produce a slide: slideleft, pushleft and the rest of that family still approximate to a dissolve, because in Ren'Py they move the whole scene, sprites included.

See also

  • bg - the only verb that carries a slide
  • @dissolve - crossfade instead of a push
  • @fade - fade through a color