SSShooter

SSShooter

Write like you're running out of time.

TyranoScript 从入门到魔改 1 图层

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: 运行下面的指令就能看到菜单冒出来

image

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

加载中...
此文章数据所有权由区块链加密技术和智能合约保障仅归创作者所有。