【Ren‘py】视觉小说游戏开发引擎 | 个人开发 | 基础 | 语法 | 自用 by.Akaxi

ren'py中文官方网址:https://www.renpy.cn/


一、Ren'py启动器

Ren'py提供了一个launcher,类似于开发者平台,开发者集中环境,需要在笔记本下载,参见官网。

快速入门 --- Ren'Py 中文文档 (renpy.cn)

下载并且启动可以看到:

然后我们可以在右下角的"设置"选项,设置我们的开发环境:

注意这里我的项目目录都设置到了自定义的E盘,方便我们后面对文件夹进行管理;然后文本编辑器选择的是Vscode,方便后面对代码进行编辑~语言也设置为中文。

注意在Vscode里面可以在拓展选项增加Ren'Py拓展包,方便敲代码补写~

二、创建项目并编辑文件

创建一个新的项目

给自己的项目名称命名"Akaxi_learn"

分辨率改成:1920x1080

游戏主界面等背景色默认就好,之后我们可以自定义修改GUI界面~

等待一小会儿~

完成啦,我们刚刚创建好了第一个项目,打开目录的"base",定位到开发文件夹下:

我们对应项目的文件家可以看到,整个工程文件构成:

Ren'py项目文件夹构成解析【Akaxi_learn】

------game 文件夹 整个游戏目录

------audio 文件夹 用来存储游戏内自定义的音频

------gui 文件夹 用来存储游戏内GUI可视化界面用的图片

------images 文件夹 用来存储游戏内使用的图片

------gui.rpy 程序 用来自定义游戏GUI界面

------options.rpy 程序 用来自定义游戏设置

------screens.rpy 程序 用来自定义游戏内各种屏幕信息

------script.rpy 程序 脚本文件整个游戏的核心程序

点击我们的项目,启动项目!(ren'py,启动!)

可以看到我们游戏的主体出现啦:

所以我们需要做到事情就是:敲代码,填充图片,音频,文本,自定义开发我们的游戏!

三、构建发行包

由于系统初始化帮助我们完成默认设置,所以我们先体验完成的流程:

新建------开发------发布

来到发布,可以看到构建以下的发行版本:

Windows

Linux

Macos

安卓

ios

1.windows exe包

等待一会儿生成zip压缩包,解压后可以看到游戏运行exe可执行程序,双击点开,即可畅玩~

2.安卓 apk包

先下载安卓的打包软件RART,需要一小会儿

然后安装SDK

这里很可能报错哈,需要手动下载~

首先是JDK工具:

JDK工具网址:

https://adoptium.net/zh-CN/temurin/releases/?version=21&os=windows&arch=any

.然后下载对应的版本的.msi文件,注意是JDK21版本的哦:

下载完成后,一直安装就行~

然后是Android Studio和SDK

https://developer.android.google.cn/studio?hl=zh-cn

大概1.1G,等待几分钟即可下载完成~

下载完成后进行安装

一直安装就行:

然后打开Android Studio应用,进行初始化下载,大概10min

这里可能会报错,Android Emulator Hypervisor Driver for AMD Processors installation failed.

解决办法:https://blog.csdn.net/didi_ya/article/details/117659952

也就是一个驱动包有问题,需要在Windows的管理员程序运行几条指令就行,参考上面的博客~

完成后,再次打开renpy

一路确定~

看到生成密钥和配置选项变成蓝色就行啦~

然后点击生成密钥

生成密钥后会有两个密钥文件,记得备份就行

然后进行配置,

然后输入包名:一般是com.作者名.应用名字

内存在2~4G左右

选择横屏

选择不需要购买

然后选择是:

然后点击构建应用包,等待一小会儿(可能需要科学上网~)

如果构建出错,可能需要自己手动下载gradle包

https://services.gradle.org/distributions/gradle-8.5-bin.zip中下载gradle-8.5-bin.zip文件,然后拷到你的安装renpy的\\renpy-8.1.3-sdk\\rapt\\下面

可以参考renpy中文论坛:

https://www.renpy.cn/forum.php?mod=viewthread&tid=1544&highlight=%E5%AE%89%E5%8D%93

然后开始嘎嘎构建安装包,耐心等待即可

完成

然后在笔记本的文件夹可以看到安卓的apk程序,传输给手机即可下载~

把apk文件传输给手机,然后安装

双击打开游戏:

成果!撒花!!!!!!!

四、快捷键

在游戏项目界面,有下面的快捷键方便开发:

python 复制代码
Shift + D 开发者菜单
Shift + R 重新加载代码与游戏

五、语法

5.1 文本 say

用英文的" "框起来,里面的内容就是一个角色说的话,然后每一句话前面加一个" 角色 "文本,就是这句话的述说者

python 复制代码
    "Akaxi" "这是一个简单的renpy项目"
    "成功了"

5.2 角色 define

我们可以在代码前面定义角色,用一个很简单的字母来代替角色名字,这样方便角色代码的复用,减少开发成本和时间

python 复制代码
define A = Character("Akaxi" , color="#e78f0a")
define B = Character("Brone" , color="#0bb1bd")

label start:
    A "你好啊Brone"
    B "你好啊Akaxi"

5.3 图像 image

与图像相关的4种语句分别是:

  • image - 定义一个新的图像(image)。

  • show - 在图层上(layer)显示一个图像。

  • scene -清空图层(layer),并可选是否在那个图层上显示一个图像。

  • hide - 将图层(layer)上的某个图像移除。

注意:Ren'Py能使用PNG或者WEBP文件 作为角色美术资源

注意:JPG、JPEG、PNG或者WEBP 文件作为背景美术资源

注意:文件的命名相当重要,Ren'py将使用除去扩展名后,强制字母变为小写的文件名来作为图象名。

python 复制代码
define A = Character("Akaxi" , color="#e78f0a")
define B = Character("Brone" , color="#0bb1bd")

label start:
    scene bg akaxi ## 这里是显示背景
    A "你好啊Brone"
    B "你好啊Akaxi"
    

进一步完善,可以添加背景和人物角色:

python 复制代码
define A = Character("Akaxi" , color="#e78f0a")
define B = Character("Brone" , color="#0bb1bd")

label start:
    scene bg world ## 这里是显示背景
    show akaxi pizza at left
    A "你好啊Brone"
    show brone chicken at right
    B "你好啊Akaxi"

然后我们可以添加一些更高级的东西

python 复制代码
define A = Character("Akaxi" , color="#e78f0a")
define B = Character("Brone" , color="#0bb1bd")

label start:
    scene bg world ## 这里是显示背景
    with dissolve  
    show akaxi pizza at left
    A "你好啊Brone"
    show brone chicken at right
    B "你好啊Akaxi"
    hide brone  ## 可以隐藏角色
    A "你想要吃披萨吗"
    hide akaxi  ## 隐藏角色
    show brone chicken at right
    B "我想要吃"
    B "但是我手上的鸡腿闻着好香啊"

比如hide隐藏,with转场等

5.4 音频 audio

python 复制代码
define A = Character("Akaxi" , color="#e78f0a")
define B = Character("Brone" , color="#0bb1bd")

label start:
    play music "fjordnosundakaze.mp3"  ## 播放音乐
    scene bg world ## 这里是显示背景
    with dissolve  
    show akaxi pizza at left
    A "你好啊Brone"
    show brone chicken at right
    B "你好啊Akaxi"
    hide brone  ## 可以隐藏角色
    A "你想要吃披萨吗"
    hide akaxi  ## 隐藏角色
    show brone chicken at right
    B "我想要吃"
    B "但是我手上的鸡腿闻着好香啊"
    stop music  ## 结束播放音乐
python 复制代码
define A = Character("Akaxi" , color="#e78f0a")
define B = Character("Brone" , color="#0bb1bd")

label start:
    play music "fjordnosundakaze.mp3"  ## 播放音乐
    scene bg world ## 这里是显示背景
    with dissolve  
    ## 暂停3秒
    with Pause(3.0)
    show akaxi pizza at left
    A "你好啊Brone"
    show brone chicken at right
    B "你好啊Akaxi"
    hide brone  ## 可以隐藏角色
    A "你想要吃披萨吗"
    hide akaxi  ## 隐藏角色
    show brone chicken at right
    B "我想要吃"
    B "但是我手上的鸡腿闻着好香啊"

    ## 第一次抉择
    menu:
        "brone要不要吃披萨?"
        "吃!":
            jump pizza
        "不吃!":
            jump chicken

    ## 吃披萨剧情
    label pizza:
        B "好啊,我要吃披萨!!好耶"
        jump end

    ## 不吃披萨剧情
    label chicken:
        B "算了吧,我还是吃我的鸡腿吧~"
        jump end

    label end:
        "Akaxi和Brone都吃得饱饱的啦~"
        
    stop music  ## 结束播放音乐

2024.7.15

渝北仙桃数据谷

相关推荐
Magnum Lehar4 小时前
wpf游戏引擎content/Asset.cs
游戏引擎·wpf
虾球xz4 小时前
游戏引擎学习第315天:取消排序键的反向顺序
开发语言·c++·学习·游戏引擎
惊鸿醉5 小时前
⭐ Unity 实现屏幕涟漪效果:自动生成 \ 点击交互生成涟漪
unity·游戏引擎
Magnum Lehar5 小时前
wpf游戏引擎下的Geometry实现
java·游戏引擎·wpf
aerror19 小时前
如何正确的用Trae 打开 Unity 3D 项目
3d·unity·游戏引擎
步、步、为营21 小时前
.NET 的IOC框架Unity代码示例
unity·游戏引擎·.net
Magnum Lehar21 小时前
wpf游戏引擎的script实现
游戏引擎·wpf
留待舞人归1 天前
【Unity优化】提高热更新和打包速度
游戏·unity·游戏引擎·unity3d·优化
tealcwu1 天前
【Unity踩坑】Unity 6在Mac平台编译运行时去除‘trial version‘
macos·unity·游戏引擎
程序员小刘1 天前
如何开始HarmonyOS 5与Godot引擎融合开发?
华为·游戏引擎·godot·harmonyos