多层组合装饰(界面装饰-天窗层)
相关插件
核心插件:
◆Drill_CoreOfDynamicSnapshot 游戏窗体 - 动态屏幕快照核心
子插件:
◆Drill_HtmlDynamicSnapshotBackground 游戏窗体 - 天窗层的多层背景
◆Drill_HtmlDynamicSnapshotCircle 游戏窗体 - 天窗层的多层魔法圈
◆Drill_HtmlDynamicSnapshotGif 游戏窗体 - 天窗层的多层GIF
◆Drill_HtmlDynamicSnapshotTiledGif 游戏窗体 - 天窗层的多层平铺GIF
特殊插件:
◆Drill_HtmlDynamicSnapshotSprite 游戏窗体 - 天窗层的多层动态快照
上述插件可以配置多层贴图,并控制装饰 地图界面、战斗界面、菜单界面。
天窗层的装饰如下图。包含:斜切的动态快照、GIF实现的表情包、魔法圈实现的弹痕。装饰能跨 地图+战斗+菜单 界面。![]() ![]() |
示例位置
天窗层装饰插件的示例位置,在 特效管理层 ,如下图。
示例中介绍了 平移、旋转、缩放、斜切 等变换功能。

界面设计(天窗层)
结构说明
天窗层在各个界面中的装饰方式如下图。

天窗层只有一层,且都在 菜单界面、地图界面、战斗界面 的上面,比最顶层还高。
配置方法
1)插件参数配置
天窗层的装饰插件,打开参数配置即可配置。

天窗层的插件可以自定义在哪些界面中启用。
如果为false,则目标界面不会创建贴图。(未创建的贴图,设置显示也不会生效)

2)插件指令调整
注意,所有天窗层的装饰,默认都处于 隐藏状态 。
需要手动使用插件指令 显示,才能看见贴图。

3)标签说明
由于你需要配置大量背景内容到相应的插件中,你不能一次性看见全部内容,这里用标签来进行区分。标签不作用在插件中,只是在配置的时候方便查看。

如果标签名长了,你可以拖拽下面两个竖线,把值拉开查看。

天窗层的层级
1)层级介绍
天窗层只有一层,且都在 菜单界面、地图界面、战斗界面 的上面。
装饰插件相互通过 图片层级 来决定先后顺序。


图片层级: 如果你配置了许多背景、魔法圈在,图片层级就用来给这些背景、魔法圈分配显示的先后顺序。
(图片层级也称”堆叠级”,可以去看”0.基本定义 > 界面.docx”的层级与堆叠级章节)
2)天窗层的底图
天窗层的底图,就是游戏画面本身( 动态快照 )。
并且动态快照支持添加多个,复制多个游戏画面,而且能进行各种变换操作。

预加载
天窗层的装饰插件可以设置预加载。
预加载常用于游戏中多次、反复使用的贴图。
单个资源贴图,配置“是否预加载”。
多个资源贴图,配置“预加载类型”。


注意,并不是所有装饰贴图都要开启预加载。
因为预加载会一直占着内存,直到游戏关闭才释放内存。
具体去看看: “1.系统 > 关于预加载.docx”。
特殊属性
菜单界面中,装饰插件有一些特殊的属性,其他界面不一定有。(通用的属性在文档“17.主菜单 > 多层组合装饰(界面装饰).docx”中已有介绍) |
数据更新与旧存档
天窗层的装饰插件中,提供了 存储功能 的开关。

设置 true/false 都能正常使用插件,只不过有部分区别:
》开启时,当前所有配置会一起存入存档中,插件指令修改的属性也会保存下来。
但这会造成旧存档数据不同步的问题。
》关闭时,重开游戏时只使用插件中配置的参数数据。
插件指令对 透明度、移动速度 的修改只能临时有效,读取存档后失效。
下图这些数据通过插件指令修改后,
若开启存储功能,则修改永久有效;若关闭存储功能,则只临时有效。

具体介绍与定义先去了解一下“21.管理器 > 数据更新与旧存档.docx”。
| 注意,这里提及的是 插件配置与旧存档 的关系。如果你直接更新了插件,旧存档赶紧删了。更新插件相当于数据底层变动,而数据底层变动对旧存档影响是无法预估无法控制的。 |
静态快照与动态快照
静态屏幕快照: 指将当前游戏屏幕的图像进行截取,并放置到一个贴图中。
屏幕图像截取后,不会再变化。也称静态快照。
动态屏幕快照: 指建立一个新的渲染快照,将当前游戏屏幕复制到一个贴图中。贴图的图像 与 游戏屏幕的图像 一模一样,并且实时变化。也称动态快照。

示例中 特效管理层 同时介绍了 静态快照和动态快照,可以去了解下。
也可以去看看文档:“1.系统 > 大家族-屏幕快照.docx”。
| 动态快照 与 装饰插件 都在天窗层,静态快照无法接触到天窗层。先进行静态快照截图,再创建动态快照,只能得到 不含动态快照图像的截图。先创建动态快照,再进行静态快照截图,也只能得到 不含动态快照图像的截图。 |
特殊插件
【游戏窗体 - 天窗层的多层动态快照】
动态快照插件如下。
◆Drill_HtmlDynamicSnapshotSprite 游戏窗体 - 天窗层的多层动态快照
1)动态快照属性
可见前面章节:静态快照与动态快照 。
2)动态快照变换
动态快照与天窗层的魔法圈、GIF一样,
支持 修改单属性、延迟指令、周期指令 等各种变换功能。

你可以去示例位置 特效管理层 看看。

从零开始设计(DIY)
设计一个天窗层的弹痕
1. 设置一个目标
考虑到快速上手,这里作者我直接建立一个新工程,在新工程中配置插件。
实现天窗层的装饰插件添加。

2. 结构规划/流程梳理
该流程用到了下面的插件。
◆Drill_CoreOfDynamicSnapshot 游戏窗体 - 动态屏幕快照核心
◆Drill_HtmlDynamicSnapshotCircle 游戏窗体 - 天窗层的多层魔法圈
有了上述插件,就能添加一个弹痕了。
3. 准备空白工程并测试
首先,新建一个工程。
复制插件文件到工程。
(后来还需要弹道核心插件,就加上了)

复制插件资源文件夹。

4. 资源准备
配置中用到了“弹痕”的图片资源。
这个资源从默认动画素材“Gun1.png”中,ps剪切出来,然后设置黑白,实现的图像。

5. 配置魔法圈
接下来,打开 天窗层的魔法圈插件。
如下图,双击并配置弹痕资源。

其中,魔法圈设置不旋转,
并且位置在 (70,500) 左下角的位置。
由于所有天窗层的装饰贴图默认不显示。
这里建立一个事件,手动显示魔法圈[20] 。

最后在游戏中测试。

可以看到,这个弹痕一直都在,
进入菜单界面也一直显示着。

