首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >$ in python或renpy

$ in python或renpy
EN

Stack Overflow用户
提问于 2020-09-12 15:37:35
回答 2查看 2K关注 0票数 0

我正在玩一款名为"Doki Doki文学俱乐部“的游戏文件,该游戏是用renpy制作的,是用python编写的视觉小说引擎。有些台词让我好奇:

代码语言:javascript
复制
$ persistent.playthrough = 1
$ persistent.anticheat = renpy.random.randint(100000, 999999)
$ renpy.save_persistent()
$ delete_character("sayori")
$ in_sayori_kill = True 

"$“是用来干什么的?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-09-12 15:43:07

这是一个特定于RenPy的构造,不是python编程语言的直接一部分。RenPy在其python语句指南中提到了它。

一个常见的情况是在默认存储中运行一行Python。例如,Python一行可以用于初始化或更新标志。为了使编写Python一行程序更方便,有一行Python语句。 单行Python语句以美元符号$字符开头,并包含该行上的其他所有内容。下面是Python一行程序的一些示例: $标志= True #初始化一个变量。$ romance_points =0#增加一个变量。$ romance_points += 1#调用一个函数,该函数公开了Ren的‘Py功能。$ renpy.movie_cutscene("opening.ogv") Python一行程序总是在默认存储区中运行。

请注意,您的RenPy程序/视觉小说不是用python编写的;它们是用RenPy自己的脚本语言编写的,在几个方面类似于python,但也有明显的不同。如果您想调用纯python,就必须按照RenPy的脚本语言所允许的方式进行调用。

票数 2
EN

Stack Overflow用户

发布于 2020-10-01 17:21:19

RenPy引擎本身是用python编写的,但是它可以解释几种语言。

首先,它是纯python (目前是python 2)。它存储在.py文件中,不支持回滚(默认情况下),并使您有机会创建作为基本函数和类的高级依赖于引擎的代码,如自定义显示。并非所有的RenPy项目都使用纯python,因为它需要一些编程技巧来编写和集成它。

第二部分是renpy专用语言。它通常被引用,就像在语言上一样,但这是不正确的:在renpy中,游戏逻辑的不同字段应该用不同的语言编写,它们之间的共同之处是它们都存储在.rpy文件中,其中一些可以运行或使用另一个文件。没有特定于renpy的代码就不可能有renpy游戏。

有:

  • 脚本语言
  • 屏幕(UI)布局语言
  • 动画和转换语言(ATL)

但是,脚本语言和屏幕语言支持纯python部分的插入。插入python代码的主要方法有两种:

  1. 通过编写python块:
代码语言:javascript
复制
label my_label:
    python:
        print('hello there')
        print('general kenobi')
  1. 通过写一条巨蟒:
代码语言:javascript
复制
label my_label:
    $ print('stonks')

惟一的区别是oneliner只支持一个python命令(一行,呵呵),python块支持任意数量的python代码。

所以,上面的代码只是很多python oneliners,可能是在某个脚本中。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63862017

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档