Ren’py教程《从入门到精通》

Ren’py教程《从入门到精通》Ren py 是什么 Ren py 是一款用于制作视觉小说 冒险游戏 galgame 的游戏制作工具 被来自世界各地的数千名创作者使用

大家好,欢迎来到IT知识分享网。

文章目录

目录

文章目录

前言

一、下载安装

二、选择编译器

1.下载编译器

2.安装扩展

三、上手体验

1.创建项目

2.hello world!

3.快速上手

一、角色对话

二、展示图像及隐藏

三、转场(基础篇)

四、位置

五、音乐和音效

六、暂停

七、分支选项与跳转

八、if条件语句

四、未完待续


前言

Ren’py是什么?

Ren’py是一款用于制作视觉小说、冒险游戏、galgame的游戏制作工具,被来自世界各地的数千名创作者使用。Ren’py的名字由Ren’ai和Python混合而成,而Python也是Ren’py所使用的环境语言。

Ren’py可以帮助你使用文字、图像和声音来讲述在计算机和移动设备上运行的交互式故事。 这些既可以是视觉小说,也可以是生活模拟游戏。易于学习的脚本语言允许 任何人都可以有效地编写大型视觉小说,而它的Python 脚本足以应对复杂的 模拟游戏。


一、下载安装

官网链接:The Ren’Py Visual Novel Engine

The Ren’Py Visual Novel Engine (renpy.org)

Ren’py教程《从入门到精通》

点击左侧按钮进入下个页面

Ren’py教程《从入门到精通》

选择合适的下载方式

Ren’py教程《从入门到精通》

运行文件并选择文件目录

Ren’py教程《从入门到精通》

打开文件夹,运行renpy.exe

Ren’py教程《从入门到精通》

点击右下角preference修改语言为简体中文

Ren’py教程《从入门到精通》Ren’py教程《从入门到精通》

二、选择编译器

1.下载编译器

首推vs code

链接:https://code.visualstudio.com/

Visual Studio Code – Code Editing. Redefined

或是直接在这个界面点击未指定Ren’py教程《从入门到精通》

你会来到这个界面

Ren’py教程《从入门到精通》

选择vs code即可,之后编辑文件会自动帮你打开vs code

2.安装扩展

打开vs codeRen’py教程《从入门到精通》

点击扩展,搜索Chinese,安装简体中文包

Ren’py教程《从入门到精通》

安装完成后会出现弹窗,点击重启vs code会将语言更改为简体中文

Ren’py教程《从入门到精通》

Ren’py教程《从入门到精通》

继续打开扩展,搜索Ren’py,安装Ren’py Language(特别地,如果你是直接用Ren’py下载的vs code,它会自动帮你下载Ren’py Language)Ren’py教程《从入门到精通》

至此,准备工作完毕!

三、上手体验

1.创建项目

点击创建新项目

Ren’py教程《从入门到精通》

点击继续

Ren’py教程《从入门到精通》

为项目命名

Ren’py教程《从入门到精通》

选择分辨率(不要太高,1080P就已经足够了)

Ren’py教程《从入门到精通》

选择强调色和背景色

Ren’py教程《从入门到精通》

项目创建完成

Ren’py教程《从入门到精通》

2.hello world!

选择编辑文件下任意一个后缀为.rpy的文件打开

Ren’py教程《从入门到精通》

script.rpy主要用于存放文本对话,这些内容可以不用看,直接全部删除即可

Ren’py教程《从入门到精通》

先写点简单的

#label为标签,第一个标签必须为start label start: "hello world!"#" "中可直接写剧情文本 #return后结束运行并返回主界面 return

回到Ren’py启动项目Ren’py教程《从入门到精通》

运行结果如下

Ren’py教程《从入门到精通》

3.快速上手

一、角色对话

最基础的对话可以这样写

label start: "hello world!" "潜" "我做到了!" #第一个引号为角色姓名,第二个引号为角色所说内容 return 

运行结果如下

Ren’py教程《从入门到精通》

但当一个角色有大量对话时会显得很繁重,这里我们可以使用define函数优化一下

define q = Character("潜") #使用define函数,我们可以在开头定义所有角色并用指定字段指代该角色 label start: "hello world!" q "我做到了!" #需要调用时,只需指定该角色字段加该角色对话即可 return

运行结果和之前一样

Ren’py教程《从入门到精通》

当一个角色有连续对话时我们也可以使用三个引号进行连续性表达

define q = Character("潜") label start: "hello world!" q "我做到了!" q """ 第一句话 第二句话 第三句话 """ return

运行结果如下

Ren’py教程《从入门到精通》

二、展示图像及隐藏

展示图像有两种方式scene和show,不同点在于scene会把此前所有图像删除后再展示图像,而show不会删除之前图像,使用方法为:语句+展示图像名称(不需要加后缀)

label start: scene bg01 "现在展示images文件夹下的背景bg01" show qian01: xalign 0.5 #调整角色X轴中心 yalign -0.25 #调整角色y轴中心 zoom 0.75 #缩放,调整角色大小 "现在展示images文件夹下的人物qian01" scene bg02 "现在展示images文件夹下的背景bg02" return

运行结果如下

Ren’py教程《从入门到精通》

同时,借助hide语句,我们可以隐藏图像

label start: scene bg01 "现在展示images文件夹下的背景bg01" hide bg01 "隐藏images文件夹下的背景bg01" return

运行结果如下

Ren’py教程《从入门到精通》

三、转场(基础篇)

在上面的脚本中,图像的切换十分生硬。由于切换地点或者角色的出场、离场很重要,Ren’Py支持图像的各种转场效果。

转场切换用于显示在最后一个交互(对话、菜单或来源于其他语句的转场)发生后,到下一个scene、show或hide语句运行之间。

label start: scene bg01 "现在展示images文件夹下的背景bg01" hide bg01 with dissolve return

这里的with语句决定了需要使用的转场效果名。最常用的转场效果是dissolve(溶解)。 另一个有用的转场效果是fade(褪色),能让界面褪为全黑,然后逐渐亮起成新的界面。

运行结果如下

Ren’py教程《从入门到精通》

四、位置

图像在展示时默认水平居中,图像底部与界面底部相接。这样设计通常对背景和单个角色没问题,但当界面上需要展现多个角色时,调整图像位置也是十分重要的。

label start: #居中 show qian01 at center #左端 show qian02 at left #右端 show qian03 at right return

为了重新调整图像位置,需要在show语句中添加一个at分句,它可以指定了图像的展示位置。最常用的有: left表示界面左端,right表示屏幕右端,center表示水平居中(默认位置),truecenter表示水平和垂直同时居中。

五、音乐和音效

Ren’py为我们提供了基础的三条音轨,分别为music,sound和voice。music为音乐,会循环播放,sound为音效,只播放一次,voice为语言,也会只播放一次。

使用play语句可以播放music和sound,voice则与之不同,详细用法见下述代码

label start: play music "audio/bgm01.ogg" #播放音乐 play sound "audio/effect.ogg" #播放音效 show qian01 voice "text01.ogg" #播放语音 return

六、暂停

使用pause语句可以实现暂停功能,该效果会持续到下一次鼠标点击后解除,若在其后添加数字则会暂停XX后自动解除,单位时间为秒

pause 3.0 #暂停三秒

七、分支选项与跳转

使用menu语句可以创建选择分支,而使用jump语句可以实现跳转功能,示例如下

label start: menu: "选择一": jump choice1 "选择二": jump choice2 #由于做出了跳转,不会返回这个标签页,可以不写return,但建议加上以防出错 return label choice1: "你选择了一" return label choice2: "你选择了二" return

八、if条件语句

以上述选择分支为例

default x=0 #让x的初始值为0,也可以使用define定义 label start: menu: "选择一": jump choice1 "选择二": jump choice2 label choice1: $ x=1 #将1赋值给x "你选择了一" jump m label choice2: python: x=2 #也可以这么写,将2赋值给x "你选择了二" jump m return label m: if x == 1: #等于要用双等号 "x的值为1" else: "x的值为2" return

至此,快速上手讲解完毕!

四、未完待续

更为详细的进阶讲解会在之后发布……

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://haidsoft.com/125852.html

(0)
上一篇 2025-09-23 18:10
下一篇 2025-03-18 15:15

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注微信