CYF讨论
Would you like to react to this message? Create an account in a few clicks or log in to continue.

向下
YXY_123
YXY_123
Admin
帖子数 : 4
注册日期 : 20-04-21
https://create-your-frisk.666forum.com

====第1章文字版教程==== Empty ====第1章文字版教程====

周五 四月 24, 2020 12:18 pm

1———————————起步!



大家好。。。。。。。。。。。。。。emm,试着改了一下,文字版的,应该可以吧

AU


在座的应该都是UT粉吧,想必都很想创建自己的AU(或战斗)

当然有2个办法,使用GMS或CYF

我个人推荐CYF因为它可能入门简单

不说了,先关门放CYF

由于GitHub的release下载很慢(反正我是上不去)推荐使用镜像站

http://github-mirror.bugkiller.org/RhenaudTheLukark/CreateYourFrisk/releases(挂了。。。)

下载完成后直接解压缩,放到文件夹中

你会发现一些文件夹和CYF本体

其中有一个名为Documentation CYF 0.6.4的文件夹,里面是CYF的官方文档,但是是英文的,我们可以看一下

接下来试玩一些示例,没问题后继续

那么基本的环境就配置完成

不过我还要推荐一个东东

VS CODE

安装过程我就用文字表达吧

打开[url=code.visualstudio.com]code.visualstudio.com[/url]

选择download

安装之后发现是英文


当然有中文



在扩展里面输入Chinese

安装扩展后重启即可

之后,我们可以正式开始了



开始第一个战斗


官方给出,学习CYF最好的方法就是复制“遭遇骷髅”(机翻)战斗,解析里面的内容

那我们复制下来,重命名为my fight

之后试玩一下,之后我们解析文件夹内部



打开文件夹发现有很多的文件(屁话!)

那么他们是用来干什么的呢?



> Audio >>你战斗的音乐
>
> Sprite >>战斗用的图片
>
> Lua>>你战斗的脚本(very important)


打开Lua我们开始

有衫个文件夹

Encounters(应该是主体)

Monsters(怪物脚本)

Waves(战斗)



因为CYF使用Lua编程,所以

我们今天就解决Lua的基本语法





先打开Monsters 发现里面有一个`poseur.lua`文件

我们打开ta并看到这一行

代码:
commands = {"Act 1", "Act 2", "Act 3"}



它设置行动里面的内容,改动一下可以看到


代码:
commands={"Talk","Act2","Act3"}




再看到这段代码


代码:
[font=Comic Sans MS]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[/font]

很抱歉这么快就让你看到怎么难的代码

我这个是无编程基础也可以观看的

所以我只讲内容



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一定要大写

完成!

看到这个作品这不是有点喜爱?

下次还会讲更多,下次再见!

---yxy_123
返回页首
您在这个论坛的权限:
不能在这个论坛回复主题