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

載入中......
此文章數據所有權由區塊鏈加密技術和智能合約保障僅歸創作者所有。