声明:这个教程是我使用蝶梦的个人理解,不代表最好,更不一定代表比原教程更好理解.
我不是什么大佬,但我会尽量用自己的话来让你能理解"我为什么要这样做"
//运行原理不列入本"非正规教程"范围内,不进行过多解释.
//教程会分成3部分,第一步解释蝶梦主要工具,第二部分解释语句.
//第一步足够满足"结构简单"的小说,后面部分属于"浅谈"编程基础,但也可以说是必不可少的.
//或许有空会继续更新点我觉得有用的知识?但我是一只鸽子~~
蝶梦JS(JavaScript),HTML(不在教程范围),CSS等绝大部分代码都可运行,但蝶梦<部分格式>有所不同.
"<>"用于标记重点,不参与一切之内
"//"用于附加解释
基础部分(这要是没学会也真没法写你的故事)
<怎么新建游戏我就不教了,真不会建Q群骚扰啸天去>
蝶梦剧情最基本推进剧情方式--点击
每段文本如果没有间隔的话,你的故事将会成为<一篇>故事
如果每段文本有隔开将会分成对应的<多段>故事
<多段>故事可通过多次点击,至上而下的顺序逐步显示剧情
断开方式--回车文本间夹代码/设置等待时间等操作
示范
第一部分
蝶梦编辑器很多东西都不是必须学的涉及变量/判断等等
但是用于辅助编写,事半功倍.
一些红框皆为重点内容,其余第一部分内不予解释,请移步<第二部分>
①字体标记:注释,吸引注意,让人更容易找到重点 让你的字体看起来更有个性
自左往右分别是加粗斜体下划线
格式:<元素类型></元素类型>
//注:不同元素类型可叠加|例:加粗+斜体+下划线文本可以无限套娃,得斯
②撤回/撤回之前的撤回 撤回之前的撤回的撤回的撤回
前者类似"Ctrl+Z"撤回<上一步操作>(实际摁"Ctrl+Z"效果一样)
后者类似"Ctrl+Y"撤回<上一步撤回>(实际摁"Ctrl+Y"效果一样)
③删除该章节 垃圾桶:你的作品是哪种垃圾?
用于删除该游戏,且无法找回.请慎重删除
④彩色字体 让你的字体看起来更有逼格
字面意思:让你的字体变为彩色
//注:不要把颜色和底色相同一起用,不然字体就与背景融为一体了
格式:(数字)文本(/数字)
具体数字参见颜色表位置|例:绿底:(7)文本(/7)
⑤新增选项 为玩家提供一个/多个选择,
格式:选:调转至段落名称相同的段落
⑥新增段落 提供一个,用于跳转至该段落指定位置
格式:[段落名称]
//⑤&⑥这是一对好友,单独使用没什么意义 如果你是群里的狗子当我没说
//如果只有<选:XX>的选项,没有与之匹配的[XX]段落,<则不会进行跳转,会继续显示下行文本>.
//选项和段落区分大小写字母,英文和中文字符
示范:
⑦按钮 用于把你的选项表示在底部以外的地方
格式:(b)数字(/b)<数字是该选项位于<该段落>的<第几个选项>>
//不理解也没事,待会看示例.
//按钮必须有<与之匹配>的选项 不然…不然……加了等于没加
示例:正确输出结果
⑧新增存档(字面意思就是加个存档)
作用:恢复存档前<游戏剧情进度>和<游戏数据>
<存档后>已触发的代码均恢复到<存档前>的状态
格式:<存:该存档名称>
⑨插入音乐&图片
字面意思,点击后放入连接.
//注意链接格式即可
⑩设置等待+引伸[|]
设置等待
设置等待格式:<等:X>(X>=1,且X为整数)>或<等:X|Y>(X>=1,且X为整数)(Y用于替换底部等待时的字)
作用:运行时强制让玩家等待X秒
[|] 用于自动跳转
//还记得段落和分段的区别吗?
//段落:一段文本前开头有[内容]到下一个[内容]之前这一段
//分段:文本间有间隔或断开
//分段可以=段落,而段落可以包≥分段
格式:[|]
//蝶梦剧情最基本推进剧情方式--点击
//而[|]可以自动化这个过程(显示本段文本后进入下一段,后不在自动显示)
//注:段落跳转<必须>局限它速度或进程,不然<会直接跳到最后一个>[|],中间文本直接"短路"了.
//请配合<等:X>和<选:XX>使用
示例;
⑪保存+预览
暂时保存:把游戏数据储存,储存后仍可继续编写(储存后编写不在储存范围之内,需重新储存)
保存后退出:同上,保存后自动退出.
预览:模拟一名玩家的视角游玩自己的游戏,用于测试有没有剧情漏洞之类的.
⑫结束游戏
蝶梦的剧情就是只要你游戏剧本到头了默认游戏结束或进入下一章
你也可以强制结束游戏
格式:<成功:成功后的留言/解释/解说……><失败:失败后的留言/解释/解说……>
作用:只要执行到任意一条此类命令,无论如何,游戏都无法进行了,会强制结束
⑬提示信息:用于在屏幕中显示一段文本
格式:(j)game_createmsg("显示的文本", "显示文本的颜色", "文本显示的形式")(/j)
//颜色对应步骤④颜色顺序
//形式有left(从左端跑到屏幕中间),right(从右端跑到屏幕中间),center(固定在屏幕中间)等等一系列形式
第二部分
这一步起开始浅谈代码用法
判断语句学前须知
蝶梦的一切代码均需在最前端加=:
//注意用<英文冒号!!!>
//如果不加就单纯是一段字符
//代码相当于电脑的语言,它能翻译并执行它.
//我也会将部分代码翻译成中文的形式,以助于理解.
①变量与赋值
格式:=:MD.变量名=数字或=:MD.变量名="字符"
=:MD.苹果=2//创造一个变量,名为:苹果,它的值为:2
//字符自行百度意义.
//变量之所以叫变量,是因为它的值可以根据需要而改变.
//变量用于存储数据容器,可随时调用.
//不存在的变量无法调用,需要先创造后才能调用.
变量运算须知
在学会调用变量之前,你必须知道运算符号(加减乘除)
<+|-|*|/>加减乘除
++自增1|--自减1
%取余数:被除数-除数×商
//不进行探讨运算符号是什么,这是是数学老师管的.
②变量运算
格式:=:MD.XX+=2或=:MD.XX=2+3或=:MD.XX=(MD.a+MD.b)/100……
=:MD.苹果=200//创造一个变量,名为:苹果,它的值为:200
=:MD.小朋友人数=20//创造一个变量,名为:小朋友个数,它的值为:20
=:MD.人均苹果=MD.苹果/MD.小朋友人数//苹果总数除以人数,得出每人可获得20苹果
人均可获得苹果数(j)MD.人均苹果(/j)
//(j)MD.变量名(/j)常被用于显示变量的<u>值</u>
//注:```js=:MD.人均苹果=MD.苹果/MD.小朋友人数```这一步属于赋值的过程
//不算调用,故不算错误(赋予MD.人均苹果 MD.苹果的值除以MD.小朋友人数的值).
调用变量练习题
=:MD.苹果=100
=:MD.人数=10
=:MD.X=MD.人数/MD.苹果//得出结果为每个苹果可获得多少人[doge]
=:MD.Y=MD.苹果%MD.人数//余数=被除数-除数×商(懂?)
每个苹果可获得:(j)MD.X(/j)个人,
每个人分得相同苹果后还剩(j)MD.Y(/j)个不能整除
//验证方法,把上面代码复制到蝶梦编辑器里预览
条件语句须知
==:等于
!=:不等于
>大于
<小于
>=大于等于
<=小于等于
布朗运算得出的结果只有turn和false//即对与错
例:
(5>3)运算结果turn,这是对的//5大于3
(7!=6)运算结果turn,这是对的//7不等于6
(8<6)运算结果false,这个命题是假的//8不小于6
(X=X)没有运算结果,这命题不存在//X未声明
浅谈一下&&(逻辑与)和||(逻辑或)//别记太复杂,记后面的"与""或"
(5>4&&5>1)输出turn//5>4且5>4,其意是两个判断都对则输出turn,只要一个错就输出false
(5<1||5>1)输出turn//5<1或5>1,其意是两个判断只要有一个/全部对就输出turn,全错输出false
条件语句
格式:=:if(布尔运算){执行代码}
=:if(5>3){MD.苹果=3}
//这个命题是真的,输出turn,则代码会自动执行{}内代码,反则无视其中代码
=:MD.apple=5
=:if(MD.apple<5){MD.苹果=5}else if(MD.apple>=5){MD.apple=5}
//如果苹果小于5那么苹果数就会等于5,并无视else后半段代码
//如果苹果大于3,那么执行else后面的条件语句,判定为真就执行,为假则无视/继续执行下一个else
//if结尾可以加无数条else if
//例:=:if(){}else if(){}else if(){}else if(){}……
for循环语句
格式:=:for(①声明变量;②判断;④执行代码执行后执行){③执行代码} 运算顺序①②③④
=:for(MD.X=1;MD.X<10;MD.X++){alert("提醒")}
//①创造变量MD.X=1,②如果MD.X<10,③则弹出"提醒",④并使MD.X+=1,然后跳到步骤②进行循环
//总计会弹出10次代码
到这里蝶梦的基础教程我暂时没啥可讲了.
有空看看哪里漏了再补.