这种语法格式一般要求一条命令单独使用一行。
例 2.2. 行命令的范例
@bg file=图片1
下面是使用方法的例子。
@bg file=图片1 一般来说,行命令是单独占用一行的。
请注意,KAG的标记命令和行命令两种格式在效果上是等效的。
上面的例子,和
标记命令的例子执行的结果是完全相同的。
下文介绍其他命令时,将只说明命令的名称。例如,我们说到的“p命令”或“p标记”,其正确的调用方法是在ks中插入“[p]”或者
“@p”。
2.7.4. 段落标签
段落标签占用单独的一行,代表了一个段落/章节的开始。
分支选项、剧本跳跃、进度的存取都以段落标签作为标志。例如剧本跳跃时,就只能跳跃到指定段落标签的开始。
命令的格式为:
*标签名|显示名
标签名是标签的内部名称,建议使用简单但不重复的英文数字组合。
显示名是显示在存档界面等地方的名称,可以使用较复杂的中文名。
例 2.3. 段落标签的范例
*ch01|第一章 这里是华丽的第一章。[l][r]
则如果在这章内(这个标签后,下一个标签前)存档,存档界面中显示该存档的进度名称为“第一章”。
每次系统跳转到这个段落的时候,就会从段落标示的地方开始执行。
2.7.5. 注释
以;符号开始,从分号到该行结尾的所有内容将被忽略。
注释主要用于写入开发者的备忘、代码说明等内容。
例 2.4. 注释的范例
*ch01|第一章 这里是华丽的第一章。[l][r] ;这是注释1 ;这是注释2
1. @animstart:开始动画(Animation)
@animstart layer=0 seg=1 target='*start'
参数:
对象层数(必须):layer=base或者0以上的整数
页面:page=back或者fore
片段(必须):seg=1以上的整数
开始的标签(必须):target='*start'
2. @animstop:停止动画(Animation)
@animstop layer=0 seg=1
参数:
对象层数(必须):layer=base或者0以上的整数
页面:page=back或者fore
片段(必须):seg=1以上的整数
3. @autowc:自动等待
@autowc
参数:
对象的文字:ch='(对象文字)'
开启or关闭:enabled=true/false
时间:time=0
4 层操作指令@backlay:将层的表页面信息复制到里页面中
参数:
(1)对象层:layer=message/message0/message1/base/0/1/2……
5 音频、视频操作指令@bgmopt:设定背景音乐的属性
参数:
(1)音量的百分数:volume=0~100
(2)最大音量百分数:gvolume=0~100
6 跳转操作指令@button:图形按钮
参数:
(1)(必需)按钮图像:graphic='图像文件名'
(2)图像的透明色:graphickey=颜色代码
(3)(必需)按钮图像的常态:normal='图像文件名'
(4)按钮图像当鼠标划过时:over='图像文件名'
(5)按钮图像点击时:on='图像文件名'
注:以上如果写了第(1)条,则(3)不能写;写了第(3)(4)(5)条,则(1)不能写。因为graphic这个图片里包含了按钮的'normal''cross''on'三种状态
(6)要跳转到的剧本文件:storage='剧本文件名.ks'
(7)(必需)要跳转到哪个标签:target='*标签名'
(8)是否将这个跳转之后的部分看作“已读”:countpage=false(默认)/true
(9)是否严格执行矩形碰撞判定方式:recthit=true(默认)/false(代表鼠标移动到按钮不透明度低于64的部分不会激活按钮
(10)鼠标划过按钮时的音效:enterse='音效文件名'
(11)鼠标划过按钮时的音效的缓冲编号:entersebuf=0/1/2
(12)停留在此链接时显示的说明文字:hint='需要说明的文字'
(13)鼠标离开按钮时的音效:leavese='音效文件名'
(14)鼠标离开按钮时的音效的缓冲编号:leavesebuf=0/1/2
(15)点击按钮时的音效:clickse='音效文件名'
(16)点击按钮时的音效的缓冲编号:clicksebuf=0/1/2
(17)鼠标划过按钮时执行的TJS语句:onenter=TJS语句
(18)鼠标离开按钮时执行的TJS语句:onleave=TJS语句
7 跳转操作指令@call:跳转到其他剧本文件里执行相应程序
参数:
(1)要跳转到的剧本文件:storage='剧本文件名.ks'
(2)(必需)要跳转到哪个标签:target='*标签名'
(3)是否将这个跳转之后的部分看作“已读”:countpage=false(默认)/true
8 消息层操作指令@cancelautomode:解除“自动阅读”模式
9 消息层操作指令@cancelskip:解除跳过模式
10 音频、视频操作指令@cancelvideoevent:解除视频周期性事件
参数:
(1)视频对象编号:slot=0以上的整数
11 音频、视频操作指令@cancelvideosegloop:取消重复播放视频片
断
参数:
(1)视频对象编号:slot=0以上的整数
12 消息层操作@ch:显示文字
参数:
(1)显示的文字:text='文字'
13 表单操作指令@checkbox:生成多选框
参数:
(1)(必需)变量名:name='变量名'
(2)背景色:bgcolor=颜色代码
(3)多选框的颜色:color=颜色代码
(4)背景色的不透明度:opacity=0(完全透明)~255(安全不透明)
14 系统操作指令@clearsysvar:消除所有系统变量
15 变量操作指令@clearvar:清理所有游戏变量
16 音频、视频操作指令@clearvideolayer:清除视频层
参数:
(1)(必需)频道:channel=1/2
(2)视频对象编号:slot=0以上的整数
17 系统操作指令@clickskip:点击跳过的设定
参数:
(1)(必需)是否设定有效:enabled=true/false
18 系统操作指令@close:关闭窗口
参数:
(1)是否需要确认:ask=true(默认)/false
19 消息层操作指令@cm:清理所有的消息层文字
20 表单操作指令@commit:确定表单的内容
21 存档操作指令@copybookmark:复制存档
参数:
(1)(必需)复制源存档的编号:from=0以上整数
(2)(必需)复制目标存档的编号:to=0以上整数
22 层操作指令@copylay:复制层
参数:
(1)(必需)复制源层:srclayer=message/message0/message1/base/0/1/2……
(2)(必需)复制目标层:destlayer=message/message0/message1/base/0/1/2……
(3)复制源页面:srcpage=fore/back
(4)复制目标页面:destpage=fore/back
23 消息层操作指令@ct:重置消息层MessageLayer
24 消息层操作指令@current:指定当前操作的消息层
参数:
(1)层名:layer=message/message0/message1
(2)页面:page=fore(默认)/back
(3)是否需要同时写入里页面(BackPage)中:withback=false(默认)/true
25 系统操作指令@cursor:更改鼠标光标
参数:
(1)通常状态:default='光标文件名'
(2)指向状态:pointed='光标文件名'
(3)等待点击状态:click='光标文件名'
(4)可以拖动状态:draggable='光标文件名'
26 消息层操作指令@deffont:设定默认的文字属性
参数:
(1)字体名:face='字体名'
(2)文字大小:size=0以上整数
(3)文字颜色:color=颜色代码
(4)是否粗体:bold=false(默认)/true
(5)是否描边:edge=false(默认)/true
(6)描边颜色:edgecolor=颜色代码
(7)是否显示阴影:shadow=true(默认)/false
(8)阴影颜色:shadowcolor=颜色代码
(9)Ruby文字的显示位置偏移量:rubyoffset=0以上整数
(10)Ruby文字的大小:rubysize=0以上整数
27 消息层操作指令@defstyle:设定默认的文字风格
参数:
(1)字间距:pitch=0以上整数
(2)行间距:linespacing=0以上整数
(3)一行的预约大小:linesize=0以上整数
28 消息层操作指令@delay:设定文字层的显示速度
参数:
(1)(必需)文字速度:speed='nowait'/'user'/0以上整数(毫秒)
29 存档操作指令@disablestore:禁止存档
参数:
(1)是否允许保存存档的功能:store=true(默认)/false
(2)是否允许覆盖存档的功能:restore=false(默认)/true
30 表单操作指令@edit:生成单行编辑框
参数:
(1)(必需)存储内容用的变量名:name='变量名'
(2)编辑框宽度:length=1以上整数
(3)最大文字数:maxchars=1以上整数
(4)文字颜色:color=颜色代码
(5)背景颜色:bgcolor=颜色代码
(6)背景颜色的不透明度:opacity=0~255的整数
31 变量操作指令@emb:显示TJS式的结果
参数:
(1)(必需)TJS式:exp=TJS式
32 消息履历操作指令@endhact:结束消息履历动作(Action)
33 变量操作指令@endif:结束通过条件判断来执行剧本
34 变量操作指令@endignore:结束“无视执行条件执行剧本”
35 消息层操作指令@endindent:解除文字缩进
36 跳转操作指令@endlink:结束超级链接
37 宏操作指令@endmacro:结束书写宏语句
38 消息层操作指令@endnowait:结束瞬间显示文字模式
39 变量操作指令@endscript:结束书写TJS脚本语句
40 消息层操作指令@er:消去消息层的文字
41 存档操作指令@erasebookmark:删除存档
42 宏操作指令@erasemacro:清除宏
参数:
(1)(必需)宏标签名:name='标签名'
43 变量操作指令@eval:执行TJS语句
参数:
(1)(必需)TJS式:exp=TJS式
44 音频、视频操作指令@fadebgm:淡入背景音乐
参数:
(1)(必需)淡入时间:time=0以上整数(毫秒)
(2)(必需)淡入后的音量:volume=0~100(%)
45 音频、视频操作指令@fadeinbgm:淡入背景音乐并开始播放
参数:
(1)(必需)播放的背景音乐:storage='背景音乐名'
(2)(必需)淡入时间:time=0以上整数(毫秒)
(3)是否重复播放:loop=true(默认)/false
46 音频、视频操作指令@fadeinse:淡入音效
参数:
(1)(必需)播放的音效:storage='音效文件名'
(2)(必需)淡入时间:time=0以上整数(毫秒)
(3)是否重复播放:loop=false(默认)/true
(4)音效缓冲编号:buf=0(默认)/1/2……
47 音频、视频操作指令@fadeoutbgm:淡出背景音乐
参数:
(1)(必需)淡出 时间:time=0以上整数(毫秒)
48 音频、视频操作指令@fadeoutse:淡出音效
参数:
(1)(必需)淡出 时间:time=0以上整数(毫秒)
(2)音效缓冲编号:buf=0(默认)/1/2……
49 音频、视频操作指令@fadese:淡入音效
参数:
(1)(必需)淡入时间:time=0以上整数(毫秒)
(2)(必需)淡入后的音量:volume=0~100(%)
(3)音效缓冲编号:buf=0(默认)/1/2……
50 消息层操作指令@font:设定文字属性
参数:
(1)字体名:face='字体名'/default/user
(2)文字大小:size=default/0以上整数
(3)文字颜色:color=default/颜色代码
(4)是否粗体:bold=false(默认)/true
(5)是否描边:edge=default/true/false
(6)描边颜色:edgecolor=default/颜色代码
(7)是否显示阴影:shadow=/default/true/false
(8)阴影颜色:shadowcolor=default/颜色代码
(9)是否斜体文字:italic=default/true/false
(10)Ruby文字的显示位置偏移量:rubyoffset=default/0以上整数
(11)Ruby文字的大小:rubysize=default/0以上整数
51 层操作指令@freeimage:释放层图像
参数:
(1)(必需)对象层:layer=base/0/1/2……
(2)页面:page=fore/back
52 消息层操作指令@glyph:指定等待点击记号的图像
参数:
(1)是否固定记号的显示位置:fix=true/false
(2)固定记号的左端显示位置:left=0以上整数
(3)固定记号的上端显示位置:top=0以上整数
(4)行末等待点击记号:line='图像文件名'
(5)行末等待点击记号的透明色:linekey=adapt/颜色代码
(6)换页等待点击记号:page='图像文件名'
(7)换页等待点击记号的透明色:pagekey=adapt/颜色代码
53 跳转操作指令@goback:返回前面——
参数:
(1)是否需要确认:ask=false(默认)/true
54 跳转操作指令@gotostart:回到startanchor标签指定的地点
参数:
(1)是否需要确认:ask=false(默认)/true
55 消息层操作指令@graph:在消息层显示内嵌图像InlineImage
参数:
(1)(必需)图像文件:storage='图像文件名'
(2)透明色:key=adapt/颜色代码
(3)替代文字:alt='替代文字'
(4)是否作为文字来处理:char=true(默认)/false
56 消息履历操作指令@hact:消息履历的动作(Action)
参数:
(1)(必需)执行的语句:exp=TJS式
57 消息层操作指令@hch:纵书模式中的横向显示模式
参数:
(1)(必需)显示的文字:text='文字'
(2)是否需要扩大行间距:expand=false(默认)/true
58 系统操作指令@hidemessage:隐藏消息
59 消息履历操作指令@history:消息履历的设定
参数:
(1)消息履历是否可显示:enabled=true/false
(2)是否输出文字信息至履历:output=true/false
60 消息履历操作指令@hr:消息履历的换行/换页
参数:
(1)换行是否需要换页:repage=false(默认)/true
61 变量操作指令@if:根据执行条件来执行剧本
参数:
(1)(必需)TJS条件式:exp=TJS式
62 变量操作指令@ignore:无视执行条件执行剧本
参数:
(1)(必需)TJS式:exp=TJS式
63 层操作指令@image:读取图像
参数:
(1)(必需)对象层:layer=base/0/1/2……
(2)(必需)图像文件:storage='图像文件名'
(3)页面:page=fore/back
(4)层是否可见:visible=true/false
(5)不透明度:opacity=0(完全透明)~255(完全不透明)
(6)层左端位置:left=0以上整数
(7)层上端位置:top=0以上整数
(8)前景层位置:pos=center/left/left_center/right/right_center
(9)前景层合成模式:mode=alpha(默认)/add/darken/dodge/lighten/mul/opaque/rect/screen/sub/transp等
(10)层重叠的顺序:index=1以上的整数
(11)左右翻转:fliplr=false(默认)/true
(12)上下翻转:flipud=false(默认)/true
(13)图像是否采用灰度显示:grayscale=false(默认)/true
(14)透明色:key=adapt/颜色代码
(15)领域图像:mapimage='图像文件名'
(16)领域动作定义文件:mapaction='领域动作定义文件名.ma'
(17)混合色:mcolor=颜色代码
(18)混合色深度:mopacity=0~255
(19)R亮度最高值:rceil=0~255(默认)
(20)R亮度最低值:rfloor=0(默认)~255
(21)R Gamma修正值:rgamma= -10.0 ~ -0.1 ~ 0 ~ 0.1 ~ 1.0(默认)~ 10.0
(22)G亮度最高值:gceil=0~255(默认)
(23)G亮度最低值:gfloor=0(默认)~255
(24)G Gamma修正值:ggamma= -10.0 ~ -0.1 ~ 0 ~ 0.1 ~ 1.0(默认)~ 10.0
(25)B亮度最高值:bceil=0~255(默认)
(26)B亮度最低值:bfloor=0(默认)~255
(27)B Gamma修正值:bgamma= -10.0 ~ -0.1 ~ 0 ~ 0.1 ~ 1.0(默认)~ 10.0
(28)别针矩形左端位置:clipleft=0以上整数
(29)别针矩形上端位置:cliptop=0以上整数
(30)别针矩形宽:clipwidth=0以上整数
(31)别针矩形高:clipheight=0以上整数
64 消息层操作指令@indent:设定文字缩进
65 变量操作指令@input:使用文字输入对话框
参数:
(1)(必需)存入数据的变量名:name='变量名'
(2)标题:title='对话框的标题'
(3)提示:prompt='需要显示的提示文字'
66 变量操作指令@iscript:开始书写TJS脚本语句
67 跳转操作指令@jump:跳转剧本
参数:
(1)要跳转到的剧本文件:storage='剧本文件名.ks'
(2)(必需)要跳转到的标签名:target='*标签名'
(3)是否将这个跳转之后的部分看作“已读”:countpage=false(默认)/true
68 消息层操作指令@l:行末等待点击
69