您好,欢迎访问三七文档
2.7.1.基本格式KAG使用的剧本格式称作KAGScript,文件扩展名为.ks。该文件是ANSI或Unicode(UCS2)编码的文本文件,可以用记事本等纯文本编辑器编辑。脚本内的文字除下面将讲到的注释、命令、段落标签等内容外,一律被当作剧本文本被处理显示。KS中用于控制引擎动作的部分,本文档一般称之为“命令”。由于KAG可以被视作一种标记语言,所以这些命令也被称作标记(Tag)。每个标签都可能有若干个属性(也可能完全没有属性),用于精确控制指令的行为。调用中传递的属性一般都需要附带一个属性值,定义该属性指定的具体对象(例如对于“目标文件(storage)”这样的属性,属性值一般就是文件名),但在特殊情况下也可能不需要指定这个值。2.7.2.标记命令标记命令类似于HTML等标记语言,可以将控制指令插入文本当中。命令的格式为:[命令名属性1=值1属性2=值2...]例2.1.标记命令的范例以下的代码将在KAGeXpress中显示一幅背景图片。[bgfile=图片1]下面是说明使用方法的例子。这是一句话,[r]可以插入标记。[l][r][bgfile=图片1]当然在行首插入标记命令也是可以的。[l][r][bgfile=图片1]比如像这样。[l][r]这种命令格式可以随意插入剧本文字中。2.7.3.行命令用类似于NScripter的指令格式书写命令标签,一般占用单独的一行,用于较长的指令。命令的格式为:@命令名属性1=值1属性2=值2...这种语法格式一般要求一条命令单独使用一行。例2.2.行命令的范例@bgfile=图片1下面是使用方法的例子。@bgfile=图片1一般来说,行命令是单独占用一行的。请注意,KAG的标记命令和行命令两种格式在效果上是等效的。上面的例子,和标记命令的例子执行的结果是完全相同的。下文介绍其他命令时,将只说明命令的名称。例如,我们说到的“p命令”或“p标记”,其正确的调用方法是在ks中插入“[p]”或者“@p”。2.7.4.段落标签段落标签占用单独的一行,代表了一个段落/章节的开始。分支选项、剧本跳跃、进度的存取都以段落标签作为标志。例如剧本跳跃时,就只能跳跃到指定段落标签的开始。命令的格式为:*标签名|显示名标签名是标签的内部名称,建议使用简单但不重复的英文数字组合。显示名是显示在存档界面等地方的名称,可以使用较复杂的中文名。例2.3.段落标签的范例*ch01|第一章这里是华丽的第一章。[l][r]则如果在这章内(这个标签后,下一个标签前)存档,存档界面中显示该存档的进度名称为“第一章”。每次系统跳转到这个段落的时候,就会从段落标示的地方开始执行。2.7.5.注释以;符号开始,从分号到该行结尾的所有内容将被忽略。注释主要用于写入开发者的备忘、代码说明等内容。例2.4.注释的范例*ch01|第一章这里是华丽的第一章。[l][r];这是注释1;这是注释21.@animstart:开始动画(Animation)@animstartlayer=0seg=1target=*start参数:对象层数(必须):layer=base或者0以上的整数页面:page=back或者fore片段(必须):seg=1以上的整数开始的标签(必须):target=*start2.@animstop:停止动画(Animation)@animstoplayer=0seg=1参数:对象层数(必须):layer=base或者0以上的整数页面:page=back或者fore片段(必须):seg=1以上的整数3.@autowc:自动等待@autowc参数:对象的文字:ch=(对象文字)开启or关闭:enabled=true/false时间:time=04层操作指令@backlay:将层的表页面信息复制到里页面中参数:(1)对象层:layer=message/message0/message1/base/0/1/2……5音频、视频操作指令@bgmopt:设定背景音乐的属性参数:(1)音量的百分数:volume=0~100(2)最大音量百分数:gvolume=0~1006跳转操作指令@button:图形按钮参数:(1)(必需)按钮图像:graphic=图像文件名(2)图像的透明色:graphickey=颜色代码(3)(必需)按钮图像的常态:normal=图像文件名(4)按钮图像当鼠标划过时:over=图像文件名(5)按钮图像点击时:on=图像文件名注:以上如果写了第(1)条,则(3)不能写;写了第(3)(4)(5)条,则(1)不能写。因为graphic这个图片里包含了按钮的normalcrosson三种状态(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(默认)/true8消息层操作指令@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/false18系统操作指令@close:关闭窗口参数:(1)是否需要确认:ask=true(默认)/false19消息层操作指令@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/back23消息层操作指令@ct:重置消息层MessageLayer24消息层操作指令@current:指定当前操作的消息层参数:(1)层名:layer=message/message0/message1(2)页面:page=fore(默认)/back(3)是否需要同时写入里页面(BackPage)中:withback=false(默认)/true25系统操作指令@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(默认)/true30表单操作指令@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
本文标题:tjs语言
链接地址:https://www.777doc.com/doc-3974110 .html