内容提要
TyranoScript的图层机制:base层唯一且位于最底层,用于显示背景;前景层默认三层,显示角色立绘;文字层显示文字信息;自由层放置按钮等可点击元素,默认隐藏,用[cm]清空;fix层放置常驻画面元素,用[clearfix]清除。源码位于kag.layer.js,另有官网未说明的menu层,用于齿轮菜单和load页面。
延伸解读
图层层级与显示顺序
文章指出 base 层必定在所有图层之下,用于显示背景;前景层默认三层,用于角色立绘;文字层显示文字;自由层放置按钮等可点击元素,默认不显示,当有按钮时显示在最上层;fix 层用于常驻元素。此外,源码中还存在一个 menu 层,z-index 高达 1000000000,用于齿轮菜单和 load 页面。理解这些层级关系有助于正确安排画面元素。
自由层的隐藏与清空机制
自由层默认不显示,当有按钮存在时显示在最上层,同时剧本停止。使用 [cm] 标签可以隐藏自由层并清空内部元素。因此,在使用 jump 后,需要先执行 [cm] 才能继续运行后面的剧本。这一机制对于控制按钮显示和剧本流程很重要。
源码中的隐藏 menu 层
文章提到,在 kag.layer.js 源码中,除了官方文档说明的图层外,还有一个未在官网说明的 menu 层。该层 z-index 为 1000000000,用于右下角齿轮菜单和 load 页面。这反映了 TyranoScript 项目部分页面用 .ks 文件编写,部分用 HTML 编写,并涉及 JS 核心,结构较为复杂。
Q&A
TyranoScript 中 base 层有什么特点?
base 层只有一个,且必定在所有图层之下,用于显示背景。指定图层时使用 layer="base",隐藏背景图使用 [freeimage layer="base"]。
TyranoScript 的前景层默认有几层?如何指定?
前景层默认有三层,用于显示角色立绘,使用 layer="0" 或 layer="1" 来指定图层。
TyranoScript 的自由层有什么作用?如何清空?
自由层用于放置按钮和可点击元素,默认不显示,当有按钮存在时显示在最上层,同时剧本停止。注意并不存在 layer="free" 这种写法。使用 [cm] tag 可以隐藏自由层并清空内部元素,所以使用 jump 后需要先 [cm] 才能继续运行后面的剧本。
TyranoScript 的 fix 层是做什么的?怎么清除?
fix 层通过 layer=fix 指定,用于放置一直存在于画面上的元素,只能使用 [clearfix] 清除。
TyranoScript 的 menu 层是什么?官网有说明吗?
menu 层是官网完全没有说明的层,实际上是右下角齿轮的菜单,并且 load 页面使用的也是这个层。
TyranoScript 的图层相关源码在哪里?
关于层级的代码位于 tyrano\plugins\kag\kag.layer.js。