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 說了!下期見!