krkr2 中文文档 下载 App

KAG 标签语法速查与规则

什么是 KAG 标签

KAG(Kirikiri Adventure Game)是吉里吉里2 的剧本脚本系统。scenario 文件(.ks)本质上是纯文本 + 嵌入式标签:

一个最小的 scenario 文件:

; 这是注释(分号开头的行)

; 切换背景
[bg storage="bg/school.tlg" time=500]

; 显示角色立绘
[chara storage="chara/hermione.tlg" layer=1]

; 显示文本(方括号结束后直接写字)
赫敏:欢迎来到吉里吉里2 的世界!

; 等待点击
[click]

标签基本格式

[标签名 属性1=值1 属性2=值2]

规则:

属性值的引号

属性值有引号和没引号都行,但规则如下:

值的类型示例是否需要引号
纯数字time=500不需要
纯字母/下划线layer=1不需要
包含空格/特殊字符name="my chara"需要双引号
路径storage="bg/school.tlg"推荐加引号(路径含空格时必须)
布尔值visible=true推荐写 true / false

常用属性速查

几乎所有标签都支持这些通用属性:

属性含义示例
time动画时长(毫秒)time=300 表示 300ms 动画
layer图层编号layer=1 表示第一层
visible是否可见visible=true/false
name元素内部名称name="bg_main"

标签分类

KAG 内置的标签按功能分大约十几个大类:

分类常用标签
流程控制jump、call、return、click、wait
文本显示msg、nowait、text、backlog
图形bg、chara、image、layer、graph
动画fade、move、shake、effect
选项select、selectcancel、goto
变量set、if、while、for
存档save、load、savenew
音频playbgm、playse、stopbgm、fadebgm
视频playvideo、stopvideo
脚本嵌入tjs、eval、script
KAG 自身load、callback、system

与 TJS2 的交互

scenario 里可以嵌入 TJS2 代码:

; 方式一:[tjs] 标签后接多行
[tjs]
var hp = 100;
hp -= 10;
Layer.current.message = "HP: " + hp;

; 方式二:[eval] 执行单行表达式
HP 现在是 [eval exp="hp"]

[tjs] 块在 scenario 中作为一个标签存在,执行完再继续。

嵌套规则

编码

scenario 文件推荐 UTF-8(无 BOM) 或 Shift_JIS(日语环境)。中文内容用 UTF-8 即可。

进阶提示