找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 367|回复: 2

[原创] 《Ren'Py强化之旅:Windows下引擎潜力探索》03.无所不包的OS模块

[复制链接]
发表于 2023-9-29 19:33:41 | 显示全部楼层 |阅读模式

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

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

×
本帖最后由 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


Snipaste_2023-09-29_19-21-42.png

Snipaste_2023-09-29_19-22-14.png

工程文件下载:
https://www.123pan.com/s/ADdHjv-9vMd3.html

Snipaste_2023-09-29_19-26-03.png

本帖被以下淘专辑推荐:

发表于 2023-10-5 21:51:26 | 显示全部楼层
有一点需要注意,当游戏打包后,路径会发生改变!推荐使用config.gamedir获取游戏目录
回复 支持 抱歉

使用道具 举报

 楼主| 发表于 2023-10-6 05:59:29 | 显示全部楼层
ZYKsslm 发表于 2023-10-5 21:51
有一点需要注意,当游戏打包后,路径会发生改变!推荐使用config.gamedir获取游戏目录 ...

这个路径问题我后面会单独开帖子来写
回复 支持 抱歉

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-29 20:57 , Processed in 0.070316 second(s), 16 queries , File On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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