分享创作 [进阶] 编辑器进阶功能使用教程

魔凤啸天 · 2018年08月28日 · 最后由 好名字就要简洁明了 回复于 2023年01月12日 · 7174 次阅读
本帖已被设为精华帖!

前言

上个教程中我们学习了如何使用编辑器的基础功能,并学会了如何制作简单的文字游戏。

这一个教程,就教您如何制作一个更复杂,功能更多,更具可玩性的文字游戏/互动小说。

有疑问的请在下方留言。

基础教程请移步:https://bbs.iwzyx.com/topics/283

教程贡献者:

魔凤啸天

正式教程

关于指令行的格式:

1.<:(进入前)

进入前的指令行仅用于判断按钮是否需要隐藏。

2.>:(离开后)

离开后的指令行一般用于按钮被点击后生效的指令,如按钮被点击后好感度增减等。

3.=:(进入时)

进入时的指令行用于以上两种之外的其它情况。

PS:在按钮下面千万不要放=:,会出问题的!

关于本文中所涉及到的指令(注意:所有指令均需要在英文输入下写才能正常生效,除了判断指令使用分号(;)分开外,其他指令都用逗号(,)分开):

需要在=:或>:中使用的代码:

1.prompt("提示文本","输入框内容"):该指令用于弹出一个输入框让玩家输入值。其中双引号可以全换成单引号,但不能省略,更不能单对双 例如:MD.名字=prompt("请输入姓名","")

2.game_createmsg("临时消息文本","颜色对应数字","方向(left/right)",停留时间(整数且>=1)):该指令用于从指定方向划到正中央一条临时消息并在指定时间后消失。引号问题同上。

例如:game_createmsg("你好", "3", "left", 5),将显示一条蓝色的“你好”,在5秒后消失。

3.game_jumpto("目标段落名")/game_jumpto(变量名):该指令用于跳转到指定段落,效果等同于跳:xxx,但可以使用变量作为参数。

例如:MD.a="xx",game_jumpto(MD.a) 等同于game_jumpto("xx")

4.MD.xx=xxx:编辑器内建了全局对象MD(对象问题不在该教程的教学范围内,不展开讨论),以MD.xx格式设置的变量会被“存:xxx”存储到存档中,在读取游戏时会读取这些变量,以便游戏继续正常运行。

注意:xx为变量名,一定要先设置变量再进行运算!!!

xxx可以是数学表达式,也可以是变量,也可以是数值或字符,字符需要加一对引号。

判断指令和按钮隐藏:

if(条件){要生效的指令}

例如:if(MD.a<0){MD.a=0}

####常用判断符号(均为英文符号,一般用于数字的大小判断): 1.<小于

2.>大于

3.==等于(可以用于所有的判断)

4.!=不等于(可以用于所有的判断)

5.<=小于等于

6.>=大于等于

7.&&与

8.||或

按钮隐藏:curBtn=null(仅在<:中使用)

例如:if(MD.xx好感度<100){curBtn=null}

图示:

①:进入时指令行:分别执行了

设置指令MD.a=0,将MD.a设置为0,MD.name=prompt("请输入名字",""),将MD.name设置为了玩家输入的东西。

输入指令prompt("请输入名字",""),弹出了输入框。

②指令显示标签:

固定写法为“(j)xxx(/j)”。中英文括号问题不大,只要成一对就行。其中xxx为变量或表达式或文字或指令

该标签用于显示一个变量的值(如MD.x),一个数学表达式的值,或是一串文字,如"你好",或是执行一个/多个指令

(当然我不推荐你这么使用,会对玩家的体验造成一些不好的影响)

可以配合判断指令(if)做出更复杂的玩法,这里不再展开说明。

可以用于选:后,如选:小明(j)MD.a(/j)岁

③跳转指令:

固定写法见上文所列出的指令,在图中点击测试1按钮后会跳转到“存档”段,而不是“测试1”段。

④判断指令:

固定写法见上文所列出的指令,在图中效果为:判断MD.a<100满足后隐藏了“存档”这个按钮

⑤临时消息指令:

由于右侧功能栏的按钮创建的指令会如上图中“不推荐使用”箭头所指向的那样,对玩家的体验造成不好的影响,所以建议使用下面这种写法。(当然进入时或离开后视情况而定)

固定写法见上文所列出的指令,在图中效果为从左边划过来一条蓝色的"0"并在5秒后消失。

例如:你可以用于显示某人的好感增减等等

⑥存档指令(当前版本为作者设置存档):

该指令固定写法为"存:xxx",不能使用变量作为存档名,存档点为存:指令所在的位置(行数)

图中效果为向存档中存储了一个叫“测试3”的存档,并显示了已存档的消息。

关于二周目的解决方案:

由于游戏结束后(成功/失败)存档或重新开始都无法实现二周目的功能,所以解决方案为:在进入结束线时设置一个结束段,段内有着至少两个选项:重玩和结束。

点击结束按钮,就是真的结束;点击重玩,就是返回一开始的段并重新设置好感度等变量,但你设置的二周目数据会保留并变成你设置的数值。

例如:

=:MD.周目次数=0

[开始游戏]
=:MD.xx=0
……

[结束段]
[|]
你还要再来吗?
选:再来
>:MD.周目次数+=1,game_jumpto("开始游戏")
选:结束

[结束]
成功:游戏结束

结语:

到这里为止,您已经掌握了一个用蝶梦编辑器制作较为复杂的文字游戏/互动小说的基本制作能力。

如果还有不懂,或是想要学习更高级的使用技巧,可以到⑦中的图书馆或论坛中寻找你要的答案。

正所谓实践出真知,只有实践才是最好的学习,希望各位作者能做出自己满意又有趣的游戏/互动小说。

勾勒每一分想象,沉浸在你的文字世界。——蝶梦文字游戏

共收到 10 条回复

这个清晰多了 更适合新人

#1楼 @伡栕 站长要求是新人看一遍就能上手EMMMM

对 比以前那些好多了

魔凤啸天 [基础] 编辑器的基本功能使用教程 中提及了此贴 11月29日 21:54

大大,我还是不会输入名字的那个😭😭 一测试就闪退...是哪里不对呀

这个不是面向对象的呀,是面向过程的?

章节跳转怎么搞?

2238138900 关于变量 中提及了此贴 06月21日 18:02

楼主看完这个我还是不会设置剧情分线,到底是要怎么操作呀😭

看完感觉脑子炸了 没看懂完全 果然我还是在等两年再来试试吧

大大,名字那个还是没搞懂,老是出错,怎么办呀?

大佬能教一下如何设置随机数吗?

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册