ren'py中文官方网址:https://www.renpy.cn/
--------------------------------------------------------------------
一、Ren'py启动器
Ren'py提供了一个launcher,类似于开发者平台,开发者集中环境,需要在笔记本下载,参见官网。
下载并且启动可以看到:
然后我们可以在右下角的“设置”选项,设置我们的开发环境:
注意这里我的项目目录都设置到了自定义的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文件传输给手机,然后安装
双击打开游戏:
成果!撒花!!!!!!!
四、快捷键
在游戏项目界面,有下面的快捷键方便开发:
Shift + D 开发者菜单 Shift + R 重新加载代码与游戏
五、语法
5.1 文本 say
用英文的" "框起来,里面的内容就是一个角色说的话,然后每一句话前面加一个" 角色 "文本,就是这句话的述说者
"Akaxi" "这是一个简单的renpy项目" "成功了"
5.2 角色 define
我们可以在代码前面定义角色,用一个很简单的字母来代替角色名字,这样方便角色代码的复用,减少开发成本和时间
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将使用除去扩展名后,强制字母变为小写的文件名来作为图象名。
define A = Character("Akaxi" , color="#e78f0a") define B = Character("Brone" , color="#0bb1bd") label start: scene bg akaxi ## 这里是显示背景 A "你好啊Brone" B "你好啊Akaxi"
进一步完善,可以添加背景和人物角色:
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"
然后我们可以添加一些更高级的东西
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
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 ## 结束播放音乐
5.5 菜单 menu
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
渝北仙桃数据谷