Skip to content

多层组合装饰(界面装饰-天窗层)

相关插件

核心插件:

◆Drill_CoreOfDynamicSnapshot 游戏窗体 - 动态屏幕快照核心

子插件:

◆Drill_HtmlDynamicSnapshotBackground 游戏窗体 - 天窗层的多层背景

◆Drill_HtmlDynamicSnapshotCircle 游戏窗体 - 天窗层的多层魔法圈

◆Drill_HtmlDynamicSnapshotGif 游戏窗体 - 天窗层的多层GIF

◆Drill_HtmlDynamicSnapshotTiledGif 游戏窗体 - 天窗层的多层平铺GIF

特殊插件:

◆Drill_HtmlDynamicSnapshotSprite 游戏窗体 - 天窗层的多层动态快照

◆Drill_HtmlDecorationPluginCommandList 游戏窗体 - 天窗层装饰的指令容器

上述插件可以配置多层贴图,并控制装饰 地图界面、战斗界面、菜单界面。

天窗层的装饰如下图。包含:斜切的动态快照、GIF实现的表情包、魔法圈实现的弹痕。装饰能跨 地图+战斗+菜单 界面。

示例位置

天窗层装饰插件的示例位置,在 特效管理层 ,如下图。

示例中介绍了 平移、旋转、缩放、斜切 等变换功能。

名词索引

以下你可以按住ctrl键点击下面的词,可以直接定位到想了解的名词:

界面设计天窗层的层级 天窗层的底图 预加载静态装饰设计变换动画设计
特殊属性延迟指令与周期指令静态快照与动态快照
特殊插件动态快照 指令容器 次元斩

界面设计(天窗层)

结构说明

天窗层在各个界面中的装饰方式如下图。

天窗层只有一层,且都在 菜单界面、地图界面、战斗界面 的上面,比最顶层还高。

天窗层的层级

1)层级介绍

天窗层只有一层,且都在 菜单界面、地图界面、战斗界面 的上面。

装饰插件相互通过 图片层级 来决定先后顺序。

图片层级: 如果你配置了许多背景、魔法圈在,图片层级就用来给这些背景、魔法圈分配显示的先后顺序。

(图片层级也称”堆叠级”,可以去看”0.基本定义 > 界面.docx”的层级与堆叠级章节)

2)天窗层的底图

天窗层的底图,就是游戏画面本身( 动态快照 )。

并且动态快照支持添加多个,复制多个游戏画面,而且能进行各种变换操作。

静态装饰设计

1)插件参数配置

天窗层的装饰插件,打开参数配置即可配置。

天窗层的插件可以自定义在哪些界面中启用。

如果为false,则目标界面不会创建贴图。(未创建的贴图,设置显示也不会生效)

2)插件指令调整

注意,所有天窗层的装饰,默认都处于 隐藏状态

需要手动使用插件指令 显示,才能看见贴图。

3)标签说明

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

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

变换动画设计

1)纯色幕布

天窗层,基于 修改单属性、延迟指令、周期指令 可以设计许多变换动画。

其中最常用的有灯光、滤镜变换。

为方便随时调用,作者我将纯色幕布固定在1~10的背景位置。

天窗层的转换,使用纯色幕布较多,可作为动画转场来用。

默认天窗层的所有贴图都是隐藏状态,

你需要手动显示它们,并且根据情况自定义混合模式与透明度。

图片也有纯色幕布,你也可以挂图片来实现幕布效果哦。

预加载

天窗层的装饰插件可以设置预加载。

预加载常用于游戏中多次、反复使用的贴图。

单个资源贴图,配置“是否预加载”。

多个资源贴图,配置“预加载类型”。

注意,并不是所有装饰贴图都要开启预加载。

因为预加载会一直占着内存,直到游戏关闭才释放内存。

具体去看看: “1.系统 > 关于预加载.docx”。

特殊属性

菜单界面中,装饰插件有一些特殊的属性,其他界面不一定有。(通用的属性在文档“17.主菜单 > 多层组合装饰(界面装饰).docx”中已有介绍)

延迟指令与周期指令

1)关系表

修改单属性、延迟指令、周期指令,在不同界面的关系如下表。

插件修改单属性延迟指令周期指令
地图插件支持(常用)支持支持
战斗插件支持支持(常用)(最好放公共事件)支持
菜单插件不支持支持(最好放容器初始化)支持(最好放容器初始化)
标题插件不支持不支持不支持
天窗层插件支持(常用)支持支持

2)使用细节(天窗层)

》天窗层的指令可以实时修改,可以加等待指令控制动画。

》天窗层的指令跨界面,但实时修改只能在地图界面、战斗界面实现。

3)使用细节(指令)

修改单属性、延迟指令、周期指令 的变换时长参数,设置“时间[1]”和“时间[0]”没有区别,因为变换切换至少要1帧的时间。因此设计动画时,要考虑加等待指令;设计周期时长时,要把这1帧也考虑进去。
修改单属性 对应 还原所有单属性;切换混合模式 对应 还原混合模式;切换图片层级 对应 还原混合模式。没有全部还原的指令,你要根据设计的动画情况来加 还原 指令,不要漏了。

数据更新与旧存档

天窗层的装饰插件中,提供了 存储功能 的开关。

设置 true/false 都能正常使用插件,只不过有部分区别:

》开启时,当前所有配置会一起存入存档中,插件指令修改的属性也会保存下来。

但这会造成旧存档数据不同步的问题。

》关闭时,重开游戏时只使用插件中配置的参数数据。

插件指令对 透明度、移动速度 的修改只能临时有效,读取存档后失效。

下图这些数据通过插件指令修改后,

若开启存储功能,则修改永久有效;若关闭存储功能,则只临时有效。

具体介绍与定义先去了解一下“21.管理器 > 数据更新与旧存档.docx”。

注意,这里提及的是 插件配置与旧存档 的关系。如果你直接更新了插件,旧存档赶紧删了。更新插件相当于数据底层变动,而数据底层变动对旧存档影响是无法预估无法控制的。

静态快照与动态快照

静态屏幕快照: 指将当前游戏屏幕的图像进行截取,并放置到一个贴图中。

屏幕图像截取后,不会再变化。也称静态快照。

动态屏幕快照: 指建立一个新的渲染快照,将当前游戏屏幕复制到一个贴图中。贴图的图像 与 游戏屏幕的图像 一模一样,并且实时变化。也称动态快照。

示例中 特效管理层 同时介绍了 静态快照和动态快照,可以去了解下。

也可以去看看文档:“1.系统 > 大家族-屏幕快照.docx”。

动态快照 与 装饰插件 都在天窗层,静态快照无法接触到天窗层。先进行静态快照截图,再创建动态快照,只能得到 不含动态快照图像的截图。先创建动态快照,再进行静态快照截图,也只能得到 不含动态快照图像的截图。

特殊插件

【游戏窗体 - 天窗层的多层动态快照】

动态快照插件如下。

◆Drill_HtmlDynamicSnapshotSprite 游戏窗体 - 天窗层的多层动态快照

1)动态快照属性

可见前面章节:静态快照与动态快照

2)动态快照变换

动态快照与天窗层的魔法圈、GIF一样,

支持 修改单属性、延迟指令、周期指令 等各种变换功能。

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

【游戏窗体 - 天窗层装饰的指令容器】

天窗层的延迟指令、周期指令也可以放指令容器中,来自插件:

◆Drill_HtmlDecorationPluginCommandList 游戏窗体 - 天窗层装饰的指令容器

指令容器可存放 天窗层装饰的插件指令,并支持多行编辑,每行代表一条插件指令。

常用于快速存放、修改大量插件指令。

游戏中调用下面的插件指令即可执行指令容器。

指令容器的灵活性非常高,可以制作复杂动画,该文档就不赘述了。详细去看看文档:“17.主菜单 > 多层组合装饰插件的指令容器.docx”。

【游戏窗体 - 动态快照次元斩】

你可以直接设计次元斩效果,来自插件:

◆Drill_HtmlDynamicSnapshotSpaceWrench 游戏窗体 - 动态快照次元斩

次元斩是固定写好的一套动画流程,你只能在流程基础上,修改图片资源和参数。

灵活度没有 界面装饰插件 那么高。

详细设计可以去看看:“22.游戏窗体 > 关于动态快照次元斩.docx”。

在示例中 动画转场管理层 也有使用介绍。

从零开始设计(DIY)

设计一个天窗层的弹痕

1. 设置一个目标

考虑到快速上手,这里作者我直接建立一个新工程,在新工程中配置插件。

实现天窗层的装饰插件添加。

2. 结构规划/流程梳理

该流程用到了下面的插件。

◆Drill_CoreOfDynamicSnapshot 游戏窗体 - 动态屏幕快照核心

◆Drill_HtmlDynamicSnapshotCircle 游戏窗体 - 天窗层的多层魔法圈

有了上述插件,就能添加一个弹痕了。

3. 准备空白工程并测试

首先,新建一个工程。

复制插件文件到工程。

(后来还需要弹道核心插件,就加上了)

复制插件资源文件夹。

4. 资源准备

配置中用到了“弹痕”的图片资源。

这个资源从默认动画素材“Gun1.png”中,ps剪切出来,然后设置黑白,实现的图像。

5. 配置魔法圈

接下来,打开 天窗层的魔法圈插件。

如下图,双击并配置弹痕资源。

其中,魔法圈设置不旋转,

并且位置在 (70,500) 左下角的位置。

由于所有天窗层的装饰贴图默认不显示。

这里建立一个事件,手动显示魔法圈[20] 。

最后在游戏中测试。

可以看到,这个弹痕一直都在,

进入菜单界面也一直显示着。

贡献者

暂无相关贡献者

页面历史

暂无最近变更历史
最近更新