马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?立即注册
×
本帖最后由 Furau 于 2023-9-29 19:34 编辑
《Ren'Py强化之旅:Windows下引擎潜力探索》03.无所不包的OS模块
OS模块在本教程中非常重要。OS模块是指操作系统模块,它操作系统交互的接口,使得程序能够访问和控制计算机的硬件和软件资源。
OS 模块的功能包括但不限于如下几点:
文件和目录操作(游戏热更新)
进程管理(游戏进程优化,检测破解、外挂系统)
系统信息嗅探(用户调研,用户信息搜集,操作系统优化兼容)
环境变量和路径问题处理(安装程序优化,功能扩展)
这些功能在任何一个大型Windows程序(包括游戏)中,都是不可避免需要去思考解决的,括号中是我列举的一些利用OS的能力去扩展的功能点,本文代码只会举出部分案例。
在上篇帖子中,已经介绍了在renpy特殊环境下,扩展功能的方法,os属于阉割后的剩余库,所以可以使用
下面是经过测试的OS调用代码,我编写了一份界面,方便大家理解交互部分
OS模块理论上可以实现上述所有的功能,具体资料请查询对应的OS接口和资料档案,再针对renpy做特殊处理即可。
获取当前目录文件
[RenPy] 纯文本查看 复制代码 import os
# 获取当前目录
current_dir = os.getcwd()
打开卸载面板
[RenPy] 纯文本查看 复制代码 import os
# 使用os.startfile()函数打开卸载程序面板
os.startfile("appwiz.cpl")
获取信息信息
[RenPy] 纯文本查看 复制代码 import platform
import os
# 获取操作系统的名称
os_name = platform.system()
# 获取操作系统的版本
os_version = platform.release()
# 获取操作系统的架构
os_architecture = platform.machine()
# 获取计算机的名称
computer_name = os.environ['COMPUTERNAME']
# 获取登录用户名
user_name = os.environ['USERNAME']
# 构建操作系统信息字符串
os_info_str = f"操作系统: {os_name}\n版本号: {os_version}\n架构: {os_architecture}\n计算机名称: {computer_name}\n登录用户名: {user_name}"
未完待续.................
demo:
界面构造:
首先打开screens.rpy,找到其中的菜单定义按钮,添加按钮
[RenPy] 纯文本查看 复制代码 textbutton _("卸载游戏") action ShowMenu("uninstall")
其中,ShowMenu与script.rpy相对应
script.rpy代码:
[RenPy] 纯文本查看 复制代码 # 游戏的脚本可置于此文件中。
# 声明此游戏使用的角色。颜色参数可使角色姓名着色。
define e = Character("艾琳")
# 游戏在此开始。
label uninstall:
python:
import os
# 使用os.startfile()函数打开卸载程序面板
os.startfile("appwiz.cpl")
label start:
# 显示一个背景。此处默认显示占位图,但您也可以在图片目录添加一个文件
# (命名为 bg room.png 或 bg room.jpg)来显示。
scene bg room
# 显示角色立绘。此处使用了占位图,但您也可以在图片目录添加命名为
# eileen happy.png 的文件来将其替换掉。
show eileen happy
# 此处显示各行对话。
e "您已创建一个新的 Ren'Py 游戏。"
e "当您完善了故事、图片和音乐之后,您就可以向全世界发布了!"
# 此处为游戏结尾。
return
工程文件下载:
https://www.123pan.com/s/ADdHjv-9vMd3.html
|