问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

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

创作时间:
作者:
@小白创作中心

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

引用
CSDN
1.
https://blog.csdn.net/2302_77140651/article/details/137567940

Ren'py是一款用于制作视觉小说、冒险游戏、Galgame的游戏制作工具,被来自世界各地的数千名创作者使用。Ren'py的名字由Ren'ai和Python混合而成,而Python也是Ren'py所使用的环境语言。Ren'py可以帮助你使用文字、图像和声音来讲述在计算机和移动设备上运行的交互式故事。

前言

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)
点击左侧按钮进入下个页面
选择合适的下载方式
运行文件并选择文件目录
打开文件夹,运行renpy.exe
点击右下角preference修改语言为简体中文

二、选择编译器

1.下载编译器

首推vs code
链接:https://code.visualstudio.com/
Visual Studio Code - Code Editing. Redefined
或是直接在这个界面点击未指定
你会来到这个界面
选择vs code即可,之后编辑文件会自动帮你打开vs code

2.安装扩展

打开vs code

点击扩展,搜索Chinese,安装简体中文包
安装完成后会出现弹窗,点击重启vs code会将语言更改为简体中文
继续打开扩展,搜索Ren’py,安装Ren’py Language(特别地,如果你是直接用Ren'py下载的vs code,它会自动帮你下载Ren’py Language)

至此,准备工作完毕!

三、上手体验

1.创建项目

点击创建新项目
点击继续
为项目命名
选择分辨率(不要太高,1080P就已经足够了)
选择强调色和背景色
项目创建完成

2.hello world!

选择编辑文件下任意一个后缀为.rpy的文件打开
script.rpy主要用于存放文本对话,这些内容可以不用看,直接全部删除即可
先写点简单的

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

回到Ren’py启动项目
运行结果如下

3.快速上手

一、角色对话

最基础的对话可以这样写

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

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

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

运行结果和之前一样
当一个角色有连续对话时我们也可以使用三个引号进行连续性表达

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

运行结果如下

二、展示图像及隐藏

展示图像有两种方式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  

运行结果如下
同时,借助hide语句,我们可以隐藏图像

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

运行结果如下

三、转场(基础篇)

在上面的脚本中,图像的切换十分生硬。由于切换地点或者角色的出场、离场很重要,Ren’Py支持图像的各种转场效果。
转场切换用于显示在最后一个交互(对话、菜单或来源于其他语句的转场)发生后,到下一个scene、show或hide语句运行之间。

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

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

运行结果如下

四、位置

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

  
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  

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

四、未完待续

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

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号