RenPy中文空间

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 90|回复: 0

开发者工具(新)

 关闭 [复制链接]
发表于 2018-4-19 22:49:21 | 显示全部楼层 |阅读模式

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

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

x
开发者工具(翻译:被诅咒的章鱼)

Ren’Py包含一些功能,可以让开发工作变得更容易。其中很多功能需要配置项 config.developer 设置为 True 才能执行。

Shift+O 控制台

调试控制台(debug console)可以在交互模式下运行 Ren’Py脚本和Python语句,而且能立刻看到运行结果。控制台可以在开发者模式下,或者当 config.console() True 时运行。组合键“shift+O”能打开控制台。

控制台可以用于:

  • 跳转到某个脚本标签(label)。
  • 在交互模式下尝试运行Ren’Py脚本语句。
  • 运算某个Python表达式或语句并查看结果。
  • 在游戏过程中追踪Python表达式。

Shift+E 编辑器支持
配置项 config.editor 允许开发者使用“启动编辑器”组合键(默认是“shift+E”)时,运行指定的编辑器命令。
详见 Text Editor Integration

Shift+D 开发者菜单
config.developerTrue 时,使用组合键“shift+D”会显示开发者菜单,并提供下列功能的便捷访问途径。

Shift+R 重新加载脚本
config.developerTrue 时,使用组合键“shift+R”会保存当前游戏,重新加载游戏脚本,然后重新加载游戏。这个操作通常会回到你使用“shift+R”之前未修改过的最近那条语句。

这个功能允许开发者在使用外部编辑器修改脚本后,无需退出并重启Ren’Py即可看到修改后的效果。

需要注意的是游戏状态,包含了变量值和场景列表重载后会被重置。这意味着某些语句的执行结果可能也发生了变化,需要回滚并重新执行那些语句才能看到修改后的效果。

Shift+I 样式检查
config.developerTrue 时,使用组合键“shift+I”能触发样式检查。样式检查中可会显示鼠标指针下的可视组件列表。并显示每一个可视组件的类型、样式和渲染尺寸。

Shift+Y 样式转储
config.developerTrue 时,使用“备份转储”组合键(默认为“shift+Y”),会把Ren’Py知道的所有样式描述信息都记录到文件“sytles.txt”中。样式描述信息包括样式的每一种特性(property),特性的值,以及特性继承自哪种样式。

> 快速跳过
config.developer config.fast_skippingTrue 时,使用“快速跳过”快捷键(默认是“>”),将触发游戏立刻跳到下一个重要互动行为。出于这种需求,重要互动行为不能是由 say语句、转场(transition)和 暂停(pause)命令所触发的。通常情况下,快速跳过会直接跳到下一个菜单选项,但也会在用户自定义的互动行为前停止。

传送至某行
Ren’Pya支持脚本中“传送(warp)至某行”功能,不需要开发者运行整个脚本即可到达指定行。尽管使用传送技巧总是会伴随着一大堆警告(warning)信息,但在提供实时预览方面依然很常用。

调用传送功能时,使用命令行运行Ren’Py,使用参数 --warp ,后面再跟上文件名:行数,这样就能扭曲到需要的那行。举例:
[RenPy] 纯文本查看 复制代码
renpy.exe my_project --warp script.rpy:458

(my_project 是工程基础目录的全路径。)

调用传送功能时,Ren’Py进行了一系列工作。它首先找到程序中的所有scene语句,然后尝试找到从该scene语句能够到达的脚本中每条语句的路径,接着选取最接近目标行的路径(在目标行前或正好到达目标行)。Ren’Py从找到的语句倒推至某个scene语句,记录下使用的路径。然后Ren’Py会执行找到的路径上所有scene和show、hide语句。最后Ren’Py将主控流程切换到目标语句。

关于传送功能,有几条重要事项需要说明。第一条是,传送时只能检查单一路径,这意味着这条路径是实际执行路径之一,在其他路径上可能还是存在bug。总体来说,这条路径不考虑游戏逻辑,所以它也可能是一条实际上并不存在的路径。(对于重流程的游戏,这的确是个大问题,特别是包含大量Python语句的情况。)

然而,最大的问题是,在传送的目标语句前的Python语句不会执行。这表示所有变量都是未经初始化的,使用时可能直接让程序挂掉。为了防止这个问题,创作者可以定义一个脚本标签(label) after_warp ,写一些只有传送后才会执行的语句。这个脚本标签可以在程序中配置变量,并在预览中返回。

传送功能需要 config.developer 设置为 True

调试功能
renpy.get_filename_line()
返回当前语句的文件名和行号的二元元组。

renpy.log(msg)
若 config.log 没有配置,则不执行任何操作。否则,将打开日志文件(如果还没有打开的话),根据 config.log_width 配置的宽度将信息格式化,并打印在日志文件上。

renpy.unwatch(expr)
停止对给定Python表达式的观察。

renpy.watch(expr)
观察给定Python表达式,信息显示在屏幕的右上角。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2018-8-21 06:26 , Processed in 0.039869 second(s), 21 queries , File On.

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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