skip to content
usubeni fantasy logo Usubeni Fantasy

TyranoScript 从入门到魔改 1 图层

/ 3 min read

This Post is Available In: CN EN

TyranoScript 中的 tag 只作用于某些层,并且我们有必要搞清楚层级关系,谁高谁低,因此在此介绍

base 层

**只有一个 base 层,且必定在所有图层之下。**此图层用于显示背景,指定图层时使用 layer="base"

隐藏背景图使用 [freeimage layer="base"]

前景层

用于显示角色立绘,默认三层,使用 layer="0" layer="1" 指定图层。

文字层

文字信息显示层,使用 [current layer="message0"] [current layer="message1"] 指定图层。

自由层

用于放置按钮和可点击元素,默认不显示,当有按钮存在时显示在最上层,同时剧本停止。

注意:并不存在 layer=“free” 这种写法。

使用 [cm] tag 可以隐藏自由层并清空内部元素。所以使用 jump 后需要先 [cm] 才能继续运行后面的剧本。

fix 层

通过 layer=fix 指定,用于放置一直存在于画面上的元素,只能使用 [clearfix] 清除。

相关源码

关于层级的代码位于 tyrano\plugins\kag\kag.layer.js。

初始化项目的 kag 代码都是压缩了空格和回车的,不过变量名没有被混淆,只要简单地格式化即可。

格式化之后顺着看下来,除了上面提到的层,还有些神奇的地方了 ——

var layer_menu = $(
"<div class='layer layer_menu' style='z-index:1000000000;display:none' align='center'></div>",
);
layer_menu
.css("width", this.kag.config.scWidth)
.css("height", this.kag.config.scHeight)
.css("position", "absolute");

突然就冒出个 menu 层,这就很尴尬了,官网完全没有说明。之前说过,这个项目有的页面会用 .ks 文件写,但是有的页面又会用 html 写,并且牵连到 js 写的核心,这真的令我很凌乱。

这个 menu 其实是右下角齿轮的菜单,并且load 页面使用的也是这个层

TIPS: 运行下面的指令就能看到菜单冒出来

后面魔改也需要添加自己的 title layer,所以先把 layer 说了!下期见!

评论组件加载中……