找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 110|回复: 8

[求助] 请教一下大家窗口模式分辨率适配要怎么做

[复制链接]
发表于 2024-11-25 20:19:00 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
就是很多游戏都有的窗口模式下更改分辨率的功能,感恩

本帖被以下淘专辑推荐:

发表于 2024-11-26 14:45:54 | 显示全部楼层
本帖最后由 烈林凤 于 2024-11-26 15:30 编辑

你可以尝试使用环境设定(preference)来制作,renpy有原生的相关行为函数Preference(),文档:https://doc.renpy.cn/zh-CN/screen_actions.html#Preference
Preference(“display”, “fullscreen”) - 全屏模式显示。
Preference(“display”, “window”) - 窗口模式显示,1倍大小。
Preference(“display”, 2.0) - 窗口模式显示,2倍大小。
Preference(“display”, “any window”) - 用前一种窗口尺寸显示。
Preference(“display”, “toggle”) - 切换显示模式。
其中这五项就是控制窗口大小的,比如说你默认的窗口大小是1920*1080,那就使用Preference(“display”, “window”),如果希望它变成1280*720,那就使用Preference(“display”, 0.5)。
实际上,renpy存在自适应窗口大小的功能,窗口模式显示时玩家可以拖动窗口边框自由更改其大小,无需手动在设置内设置。(如果玩家手动把窗口拉成1280*720的,那么设置内选项并不会变化)
但这种方法无法改变窗口的比例大小,renpy游戏默认的窗口比例就是16:9的,我也强烈不建议去更改窗口比例,因为这极易引起游戏内UI错位、游戏组件出现bug等问题,并且这会直接改变项目大小
因此想要更改窗口比例的创作者请自行进行探索(gui.int)

希望这些能解决你的问题。

回复 支持 抱歉

使用道具 举报

 楼主| 发表于 5 天前 来自手机 | 显示全部楼层
烈林凤 发表于 2024-11-26 14:45
你可以尝试使用环境设定(preference)来制作,renpy有原生的相关行为函数Preference(),文档:https://doc.r ...

明白了谢谢大佬,假设我游戏是2k的,想追问下有办法让不管2k,1080等等的屏幕点击窗口模式都固定缩小一半吗,就是2k变1080,1080变成560?的窗口(好像没看到对应写法),还是只能按照游戏分辨率倍数调整
回复 支持 抱歉

使用道具 举报

发表于 5 天前 | 显示全部楼层
cyx88 发表于 2024-11-29 00:59
明白了谢谢大佬,假设我游戏是2k的,想追问下有办法让不管2k,1080等等的屏幕点击窗口模式都固定缩小一半 ...

目前renpy原生只有Preference(“display”)这种方式能直接改变窗口大小,只能根据游戏项目大小,按倍率进行缩放窗口。
想要点击按钮就将窗口缩小一半,可以额外设定一个变量来记录当前缩放倍率,点击按钮时使用SetVariableSetScreenVariable等方法将额外将变量的值除2,并重新对Preference(“display”)进行赋值。
还有其他解决方法,可以自行进行探索)
回复 支持 抱歉

使用道具 举报

 楼主| 发表于 5 天前 来自手机 | 显示全部楼层
烈林凤 发表于 2024-11-29 17:59
目前renpy原生只有Preference(“display”)这种方式能直接改变窗口大小,只能根据游戏项目大小,按倍率进 ...

再次感谢大佬解答,逻辑我明白了,但是这几个数据行为怎么使用在文档中看不太懂(太菜了捂脸),首先要怎么获取当前全屏模式下的缩放倍率呢
回复 支持 抱歉

使用道具 举报

发表于 4 天前 | 显示全部楼层
cyx88 发表于 2024-11-29 23:15
再次感谢大佬解答,逻辑我明白了,但是这几个数据行为怎么使用在文档中看不太懂(太菜了捂脸),首先要怎 ...

默认窗口大小缩放倍率就是“1.0”,与“window”相等,设置xxx变量默认值为1.0,点击后改为xxx/=2(变为0.5),若项目窗口大小是1080p,那就会变为720p
回复 支持 抱歉

使用道具 举报

 楼主| 发表于 4 天前 来自手机 | 显示全部楼层
但我想的是比如我是2k的游戏项目,2k屏幕下全屏模式就是一倍的缩放倍率,1080全屏模式应该是0.5的缩放倍率,4k屏幕是2倍缩放倍率,这个变量怎么获取呢,点击窗口模式后2k屏幕的变0.5倍率,1080变成0.25倍率,大概这个意思
回复 支持 抱歉

使用道具 举报

发表于 4 天前 | 显示全部楼层
cyx88 发表于 2024-11-30 16:02
但我想的是比如我是2k的游戏项目,2k屏幕下全屏模式就是一倍的缩放倍率,1080全屏模式应该是0.5的缩放倍率 ...

启动游戏后的缩放倍率默认就是1.0啊,没有办法获取到这个值,你只需要设置一个变量在启动游戏时初始为1.0,点击按钮改变窗口大小的同时同步修改这个值就可以了,与你想要的效果是一样的。
回复 支持 抱歉

使用道具 举报

 楼主| 发表于 3 天前 来自手机 | 显示全部楼层
感谢
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|RenPy中文空间 ( 苏ICP备17067825号|苏公网安备 32092302000068号 )

GMT+8, 2024-12-4 00:51 , Processed in 0.114097 second(s), 25 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表