496 字
2 分钟
--
高级特性

自定义文本标签#

自定义文本可以实现本多有趣的效果:

show black:
alpha 0.0
linear 0.15 alpha 0.8
#上面这是加了一个黑色遮罩,用于表示类似“内心对话”
show credits_text "你好"
$ renpy.pause(2,hard = True)
#这一句是,运行到此处,必须等待2秒才可以继续点击。

此外,show_cps是显示速度。

图像特效#

#是老照片的滤镜效果
im.Sepia("./~")
#是高斯模糊滤镜
im.Blur("./~")

也可以使用dustValue这种变量,来动态控制一个背景,思路很简单:

先定义:

image dustDevelop = ConditionSwitch(
"dustValue >= 1", "dustSepia"
"dustValue >= 2", "dustBlur"
"True","dust"
)
#这是一个简单的映射关系,在代码中,我们可以直接使用变量的值来控制图片使用的滤镜或效果。如:
$ dustValue = 0
scene dustDevelop

图片的缝合:将两张图片合成在一起

思路很简单,就是通过这种方式减少包体积,但是小型项目其实无所谓。这里就不提了,主要用于表情差分。

持久化数据#

这个主要用于处理多周目流程的效果。

首先需要开启持久化数据:

define persistent.unlockd = True
if persistent.unlocked:
shilian "这是二周目"
else:
shilian "你完成了一周目,重新加载一次"

下雪效果#

首先我们需要一张雪花的贴图。

image snow = SnowBlossom("green",count=40,border=10,xspeed=(-2,50),yspeed=(20,30),start=0,fast=True,horizontal=False)

开发者模式#

  1. 按下ctrl+d可以唤出开发者模式菜单,可以选择重新装载游戏。效果类似ctrl+s

  2. 按下shift+,开启控制台,可以编写python代码。

    如:1+1

transform#

我们可以用rpy文件去封装一个定义的角色效果,这非常方便:

# 原本:
show shilian:
xcenter 0.5
ycenter 1.1
zomm 0.5
#每次都需要这么操作。
#如果单独顶一个一个rpy文件负责封装,以后只需要show即可。
show shilian at show_shilian()
#另一个文件中:
transform show_shilian()
xcenter 0.5
ycenter 1.1
zomm 0.5
也可以:
transform show_shilian(x=0.5,y=1.1,z=0.5)
xcenter x
ycenter y
zomm z
高级特性
https://vilstia.pages.dev/posts/游戏开发/renpy/高级特性/
作者
琴泠
发布于
2026-04-17
许可协议
CC BY-NC-SA 4.0