label your_label_name:
scene blue_image ### this is your blue background full resolution image
show my_image_1 ### this is your non full resolution image
No...Thanks for the reply. I can do this, of course, as it is the standard method in Ren'py, but it would require me to do it repetitively for over 1,700 images.
screen background():
add Solid( "#000000" ) pos( 0, 0 ) size( config.screen_width, config.screen_height )
label start:
show screen background
[...]
And please note that I am using the "scene" command, not the "show" show command.
scene
is expected to be used for images that take all the screen, while show
is expected to be used for sprites(-like), therefore images that will not use all the screen.Have the images all the same size ? Because telling Ren'py to works with the right resolution (changingFYI, I am modding a RPGM into Ren'py, and the images are not 1920x1080 pixels ... rather something smaller and more square dimensions.
gui.init(1920, 1080)
in "gui.rpy") would always be better than filling the background.I am using 7.3.5 still getting the checkered grey background. maybe there is a setting I need to change?This being said, you can also use a more recent version of Ren'py. The checkered background have been replaced by a full black one 2 years ago (it came with the version 7.0.0).
I considered a screen but I thought it would show up on top of the images, lolNo...
And it's done, all the image will have a black background.Code:screen background(): add Solid( "#000000" ) pos( 0, 0 ) size( config.screen_width, config.screen_height ) label start: show screen background [...]
This being said, you can also use a more recent version of Ren'py. The checkered background have been replaced by a full black one 2 years ago (it came with the version 7.0.0).
scene
is expected to be used for images that take all the screen, whileshow
is expected to be used for sprites(-like), therefore images that will not use all the screen.
mgomez0077 answer is what I would have said myself according to the information available at this time.
Have the images all the same size ? Because telling Ren'py to works with the right resolution (changinggui.init(1920, 1080)
in "gui.rpy") would always be better than filling the background.
Use the solution he's given you anne O'nymous, create a screen and use "show" just to show that screen and then the images with "scene" (use "hide screen background" at the end if required).thank you very very much for your reply.
I am using 7.3.5 still getting the checkered grey background. maybe there is a setting I need to change?
Is there anyway to use "scene" with an image smaller than the game screen, and replace the resulting checkered grey 'background' with a solid colour or an image?
The reason I don't want to use "show" is because it needs to come with "hide", otherwise the images will just pile on top of each other.
The sizes of the images vary by about 10 pixels, so telling Ren'py to works with the right resolution will still result in a checkered grey background.
I apologise for my OCD, the checkered grey 'background' issue is giving me nightmares. I do wish I was a better at programming, but I am quite hopeless at it.
YesI am using 7.3.5 still getting the checkered grey background. maybe there is a setting I need to change?
define config.transparent_tile = False
False
by default, so I tried it the hard way.And you were right. I don't know what I was thinking when I said thatI considered a screen but I thought it would show up on top of the images, lol
It's good to know that you're mortal and you can (rarely) also make mistakesAnd you were right. I don't know what I was thinking when I said that
Edited my message to remove this stupidity.
Thank you for your reply, I appreciate your effort. But this is not the solution I am looking for.I considered a screen but I thought it would show up on top of the images, lol
Is the "background" screen a special renpy screen (as is the case with "navigation" or others)?
Use the solution he's given you anne O'nymous, create a screen and use "show" just to show that screen and then the images with "scene" (use "hide screen background" at the end if required).
It's not a secret, you just had to askIt's good to know that you're mortal and you can (rarely) also make mistakes
One solution might be to grabThe sizes of the images vary by about 10 pixels, so telling Ren'py to works with the right resolution will still result in a checkered grey background.
convert input.png -gravity center -background black -extent 360x240 output.png
mogrify -gravity center -background black -extent 360x240 *.png
Have the images all the same size ? Because telling Ren'py to works with the right resolution (changinggui.init(1920, 1080)
in "gui.rpy") would always be better than filling the background.
show grey #this will the grey image that you have created
scene or show your_render #this will show your render that you have made above the grey image that you have created
Not with theCode:show grey #this will the grey image that you have created scene or show your_render #this will show your render that you have made above the grey image that you have created
scene
statement, at least like you wrote the show grey
line. The scene statement removes all displayable from the master layer where scene
put the image, and where show
put the image... by default.show
for the background, and in the same time use scene
for the images, you need to add a new layer, at a lower level than the "master" one, and explicitly tell show
to display the said background on this layer.init python:
config.layers.insert( config.layers.index( "master" ), "background" )
image bgImg = Frame( Solid( "#FF0000" ), size=( config.screen_width, config.screen_height ) )
label start:
show bgImg onlayer background
scene
without removing the background (red for the demonstration).And by extremely dumb and shockingly obvious, you mean usingAs per usual, it turns out the solution is both extremely dumb and shockingly obvious.
config.transparent_tile
configuration value, that is undocumented, but presented in this thread, an guaranty to works all the time without needing that you alter a file in Ren'Py core, what can lead to problems if a compressor, or android/MacOS porter use it's own version of the SDK, right ?You mean setting thisAnd by extremely dumb and shockingly obvious, you mean usingconfig.transparent_tile
configuration value, that is undocumented, but presented in this thread, an guaranty to works all the time without needing that you alter a file in Ren'Py core, what can lead to problems if a compressor, or android/MacOS porter use it's own version of the SDK, right ?
config.transparent_tile
to False? That's hardly a solution. I'm assuming you'd have to set it to point to a new image of your choosing instead, which I thought of but didn't bother exploring since just swapping the images seemed like a much easier alternative.OP wanted to get rid of the checkered background, having by example a black screen instead. And it happen that it's precisely whatYou mean setting thisconfig.transparent_tile
to False? That's hardly a solution.
config.transparent_tile
is for: # Should we display tiles in places of transparency while in developer
# mode?
config.transparent_tile = True
if config.transparent_tile:
tile = im.Tile("_transparent_tile.png", (config.screen_width, config.screen_height))
config.underlay.append(tile)
That makes sense I guess. The reason why I needed it set to a specific image is because the scenes in the original game (Unity based) have 1280x720 resolution, same as the window I'm using. My custom transition built for the Ren'py port, causes the tiles or black screen to show on the edges of the screen just a little bit and it's really annoying since I'm using it a LOT.This being the reason why it's an undocumented configuration value ; it have a really limited use.