1———————————起步!
大家好。。。。。。。。。。。。。。emm没错这就是开头,进入主题吧
游戏
在座的应该都是UT粉吧,想必都很想创建自己的Undertale同人游戏
当然有2个办法,使用GMS或CYF。我个人推荐CYF因为它可能入门简单
不说了,先关门放CYF
由于GitHub的release下载很慢(反正我是上不去)推荐使用镜像站
下载完成后直接解压缩,放到文件夹中
你会发现一些文件夹和CYF本体
其中有一个名为Documentation CYF 0.6.4的文件夹
(ps:现在来修改这个文档的时候CYF已经更新到0.6.6了,不过我个人推荐使用0.6.5)
里面是CYF的官方文档,但是是英文的,我们可以看一下
接下来试玩一些示例,没问题后继续
那么基本的环境就配置完成
不过我还要推荐一个东东: VS Code(ps:visual studio code)
安装过程我就用文字表达吧
点击此处,选择download
安装之后发现是英文,你可能要开始咆哮了:"有木有中文!!!!!!!!!!!!!!!!(以下省略10000个!)”
当然有中文。在扩展(Extensions,或 Ctrl+Shift+X)里面输入Chinese,安装扩展后重启即可
之后,我们可以正式开始了
开始第一个战斗
官方给出,学习CYF最好的方法就是复制Encounter Skeleton
战斗,解析里面的内容
那我们复制下来,重命名为my fight
之后试玩一下,之后我们解析文件夹内部
打开文件夹发现有很多的文件(屁话!),那么他们是用来干什么的呢?
- Audio >>你战斗的音乐
- Sprite >>战斗用的图片
- Lua >>你战斗的脚本(重要)
打开Lua我们可以看到,有衫个文件夹
- Encounters(遭遇脚本)
- Monsters(怪物脚本)
- Waves(战斗)
因为CYF需要使用Lua编程,所以我们今天就解决Lua的基本语法
先打开Monsters文件夹,发现里面有一个poseur.lua文件
我们打开ta并看到这一行:
commands = {"Act 1", "Act 2", "Act 3"}
它设置行动里面的内容,改动一下可以看到:
commands={"Talk","Act2","Act3"}
再看到这段代码
function HandleCustomCommand(command)
if command == "ACT 1" then
currentdialogue = {"Selected\nAct 1."}
elseif command == "ACT 2" then
currentdialogue = {"Selected\nAct 2."}
elseif command == "ACT 3" then
currentdialogue = {"Selected\nAct 3."}
end
BattleDialog({"You selected " .. command .. "."})
end
很抱歉这么快就让你看到怎么难的代码。因为我这个是无编程基础也可以观看的,所以我只讲内容
function是定义一个函数(功能),这里定义了HandleCustomCommand(command)函数。
这是CYF的特殊函数,也就是说,执行ACT时会发生的事
if 是条件判断,用人话大概就是:
if command == "ACT 1" then --如果command是“ACT1” 那么
currentdialogue = {"Selected\nAct 1."}
elseif command == "ACT 2" then --又如果command是"ACT2" 那么
currentdialogue = {"Selected\nAct 2."}
elseif command == "ACT 3" then
currentdialogue = {"Selected\nAct 3."}
end
elseif是又如果的意思
中间的command == “ACT1”
就是要判断的条件。==是等于的意思
同时还有<、>、<=、>=
等判断语句
好,我们再改改
function HandleCustomCommand(command)
if command == "TALK" then
currentdialogue = {"Don't Talk!"}
elseif command == "ACT 2" then
currentdialogue = {"Selected\nAct 2."}
elseif command == "ACT 3" then
currentdialogue = {"Selected\nAct 3."}
end
BattleDialog({"You selected " .. command .. "."})
end
这里if command == "TALK" then
的TALK一定要大写
完成!
(emmm,话说,文字改版好像有点内啥)
---yxy_123