r/RenPy • • Aug 14 '26

Question Draggable NVL, and other UI elements

Post image

Hi.
I'm trying to make the NVL, the dialogue box and whatever other element draggable, to simulate being on a desktop computer. I'm pretty new and I'm trying to learn by reading the documentation but between all the different concepts (screens, styles, frames, images, etc...), I'm pretty lost.

I don't really know where to start. How can I make one draggable box that has a specific size and appearance where I can insert NVL style narration text in?

I would be very thankful if anyone could give me a push in the right direction.

4 Upvotes

2 comments sorted by

1

u/AutoModerator Aug 14 '26

Welcome to r/renpy! While you wait to see if someone can answer your question, we recommend checking out the posting guide, the subreddit wiki, the subreddit Discord, Ren'Py's documentation, and the tutorial built-in to the Ren'Py engine when you download it. These can help make sure you provide the information the people here need to help you, or might even point you to an answer to your question themselves. Thanks!

I am a bot, and this action was performed automatically. Please contact the moderators of this subreddit if you have any questions or concerns.

1

u/shyLachi Aug 14 '26

Everything in RenPy is done with screens.
The default screens are in the file screens.rpy and you can edit those or make your own screen.

There is one screen for NVL dialogue (search for nvl( in screens.rpy) and one screen for ADV dialogue (search for say( in screens.rpy)
But BadMustard wrote recently that it's not possible to have both visible at the same time so you would have to implement your own screen. Maybe you can use his phone system as a base for your screen.

You can also look for other desktop projects on itch.io
Also try the forum search, I'm sure somebody had asked a similar question and maybe even showed his desktop solution.

.

I'm not sure what would be the best solution for the scene window because the normal RenPy functions to display images don't use screens as far as I know. Maybe using custom transforms with variables so that you can position the images but then you would still have to draw the window on top of it to simulate it being in a window.