Skip to content

界面

概念

定义

界面: 是指用户 当前看到 的游戏窗口内的所有图像画面。

特点

1)脚本名称

界面在脚本中定义为Scene。

也有称呼Scene为 场景、面板 等,你只要了解这个名词即可。

2)界面类型

游戏中,界面类型分为三种:** 战斗**、地图菜单

(战斗界面和地图界面内容复杂,通过大量游戏数据拼接而成;而菜单界面内容简单,但是数量特别多,是一套大卡组。)

3)运行方式

系统每次只能运行一个界面,运行时其它界面处于暂停状态

(系统每次只能运行一张卡片,且每张卡片是单独运行的,不会牵连其他卡片。)

类型

战斗(战斗界面)

1)常见对象

战斗界面的常见对象如下:

(这里只简单分类,方便理解)

2)称呼注意事项

单位是指 敌人/角色/敌方/我方 的统称。

其他文档或插件中,提及 单位/敌人/角色/敌方/我方 这些名词,都默认在 战斗界面中 条件下。

3)结构简介

战斗界面中,数据与贴图 是两个分离的定义。

数据对应”单位”,贴图对应”战斗层级”。

离开战斗界面后,单位不一定会被销毁,但是单位贴图一定会被销毁。

设置在某一回合单位才出场,实际上单位一开始就存在,只是后来单位贴图才被创建。

4)战斗层级

战斗界面的层级如下:

(淡紫色部分为多层背景、粒子、魔法圈等 装饰用插件 的插入层)

(图片对象层 指事件指令中的 图片 所在位置)

(层级的细节定义可见后面章节:层级与堆叠级

游戏中还存在一个特殊的层级:天窗层。此层级比最顶层还高,在该层级中能够使用 动态屏幕快照 。详细可以去了解下文档:“1.系统 > 大家族-屏幕快照.docx

地图(地图界面)

1)常见对象

地图界面的常见对象如下:

(这里只简单分类,方便理解)

2)称呼注意事项

物体是指 事件/玩家/玩家队员/载具 的统称。

其他文档或插件中,提及 物体/事件/玩家/玩家队员/载具 这些名词,都默认在 地图界面中 条件下。

3)结构简介

地图界面中,数据与贴图 是两个分离的定义。

数据对应”物体”,贴图对应”地图层级”。

离开地图界面后,物体不一定会被销毁,但是行走图一定会被销毁。

切换菜单界面时,数据不会变化,但贴图会重建,因此切换菜单不会出现事件消失,但会使得部分贴图消失。

切换地图时,地图界面会进行 数据重读、贴图重建,数据和贴图全部翻新后,实现了不同地图移动的效果。

4)地图层级

地图界面的层级如下:

(淡紫色部分为多层背景、粒子、魔法圈等 装饰用插件 的插入层)

(图片对象层 指事件指令中的 图片 所在位置)

(层级的细节定义可见后面章节:层级与堆叠级

游戏中还存在一个特殊的层级:天窗层。此层级比最顶层还高,在该层级中能够使用 动态屏幕快照 。详细可以去了解下文档:“1.系统 > 大家族-屏幕快照.docx

5)物体id规范

使用插件指令,获取 事件id、玩家队员id、载具id 时。

经常会提及找不到时返回-1,若为玩家则返回-2。

这个插件指令的表示方法并不是零散的,而是统一的设定,如下:

类型\id值大于00-1-2
事件id(event_id)正常id值(1表示地图里id为1的事件)无效找不到对象表示玩家
玩家队员id(follower_id)正常id值(1表示玩家身后第1个队员)无效找不到对象表示玩家
载具id(vehicle_id)正常id值(1表示小船,2表示大船,3表示飞艇)无效找不到对象表示玩家

由于玩家是一个非常特殊的存在,能同时具备事件、玩家队员、载具的相似功能,

所以这里插件指令获取id值时,如果是玩家,都按-2表示。

菜单(菜单界面)

1)常见对象

菜单界面的常见对象如下:

2)结构简介

地图界面中,数据与贴图 不完全分离。

玩家通过确定键或取消键,就能直接切换菜单,使得贴图重建。

窗口中配置的数据,大部分是地图用数据、战斗用数据,比如修改队形,设置装备。菜单用数据属于选项设置。

原始的主菜单的部件结构如下图。(由 3个窗口 组成)由于游戏编辑器中没有定制菜单的渠道,所有可定制的菜单,都是通过插件一个个配置的。

3)菜单层级

菜单界面的层级如下:

(淡紫色部分为多层背景、粒子、魔法圈等 装饰用插件 的插入层)

(层级的细节定义可见后面章节:层级与堆叠级

游戏中还存在一个特殊的层级:天窗层。此层级比菜单前面层还高,在该层级中能够使用 动态屏幕快照 。详细可以去了解下文档:“1.系统 > 大家族-屏幕快照.docx

STG(STG界面)

1)定义

STG界面: 指专门用于进行STG战斗的界面。是一个新的完整生态系统。

弹幕射击游戏(STG): 特指飞行弹幕射击的游戏类型。这类游戏以竖版居多,玩家操控一位角色对来袭的大量敌人进行攻击,并在过程中升级、强化自我的能力,最终打败BOSS。弹幕射击游戏对于眼手脑间的配合、玩家控制角色的移动规划能力要求较高。

由于游戏类型的不同,STG界面与战斗界面是两个大的且不同的界面类型。战斗、地图、菜单、STG都是大的生态系统,能够相互组合,所以这里为了专门区分不同领域的对象,从而产生了很多特别的名词称呼。

2)常见对象

STG界面的常见对象如下:

3)称呼注意事项

机组是指 敌机/敌机子弹/自机/自机子弹 的统称。

其他文档或插件中,提及 机组/敌机/敌机子弹/自机/自机子弹 这些名词,都默认在 STG界面中 条件下。

界面

作用域

界面的作用域根据情况分成下面的类:

游戏全局(战斗+地图+菜单)系统 管理器 游戏窗体窗口字符
战斗界面战斗 战斗UI单位 技能
地图界面地图 地图UI行走图 图块 移动路线 互动物体 物体管理 物体触发 体积 炸弹人
菜单界面主菜单 面板控件 标题
跨多界面(战斗或地图或菜单)动画 UI 对话框 图片 公共事件声音 键盘 鼠标

详细说明可以去看看文档 ”0.基本定义 > 插件类型.docx

层级与堆叠级

1)定义

层级: 指界面中 固定定义 并且用于区分层次的 贴图。

每个层级都有名字,比如:下层、图块层、中层、图片对象层 等。

堆叠级: 指处于相同层级下,区分贴图先后顺序的 数字参数。

堆叠级也叫图片层级,数字值越大,越在上面。

界面、层级、堆叠级的关系如下图。

2)层级细节

固定的层级: 指界面中黑色字体标注的层级,插件不能扩展该层级的功能。

灵活的层级: 指界面中紫色字体标注的层级,插件能放置各种自定义贴图。

以菜单界面为例,

“菜单前面层”和“菜单后面层”是灵活的层级。

“菜单功能部件”和“底图”是固定的层级。

固定的层级 其实也能扩展一些功能,只是功能没那么灵活而已。比如插件 图片-层级与堆叠层,能将层级 图片对象层 扩展,支持 图片 修改自己所处的层级,放到最顶层,并且能改回到 图片对象层 。

3)口语与术语

在平时插件指令和说明中,有一些口语表达的名词:

口语术语定义术语描述脚本参数名
战斗层级战斗界面的层级可见前面介绍:战斗层级BattleLayer
地图层级地图界面的层级可见前面介绍:地图层级MapLayer
菜单层级菜单界面的层级可见前面介绍:菜单层级MenuLayer
图片层级堆叠级处于相同层级的贴图,根据堆叠级进行先后顺序排序。zIndex
虽然口语和术语指的都是同一个东西,但是:有的插件指令使用名词“战斗层级”,就不能写名词“层级”,反之亦然。有的插件指令使用名词“图片层级”,就不能写名词“堆叠级”,反之亦然。具体要看插件以什么名称为准,使用 小工具 打开插件看一眼指令就比较好,如果全按自己的记忆写 插件指令,容易出错。
为什么会称呼为“图片层级”?因为作者我最早写的界面相关插件是 菜单背景 插件(当时还没有“多层”的想法),所以定义层级的时候,就简单用0和1数字来表示菜单前面层和菜单后面层,称为菜单层级,然后资源图片的顺序zIndex也是数字,于是就叫图片层级了。(当时也没有想过会去写专门的 图片类插件 )后来一直都没改,于是便一直用到现在。

常见组合

目前来看,界面不外乎就这三种基本元素:战斗、地图、菜单。

一些比较新颖的游戏可能会将元素两两融合:

战斗+地图、菜单 (即时战斗游戏ARPG)

战斗、地图+菜单 (策略类游戏)

战斗+菜单、地图 (文字冒险类游戏galgame)

从脚本层面来看,分离战斗与地图,最显著的作用就是节省计算量

战斗占计算量多,地图占内存大。如果是即时战斗,由于图像变化多,消耗量大,现在的电脑基本不存在问题,但是手机就是一种挑战了。

当你打开菜单时,因为其它界面是暂停状态,所以繁忙计算中的CPU可以瞬间降下来。这也是为什么卡顿的游戏地图中,只要一打开菜单,瞬间变流畅的原因。

另外,如果一个游戏连菜单都卡顿的话,那就真的是电脑硬件的问题了。

界面理解误区

战斗界面、地图界面、菜单界面是三个完全独立的界面,进入了任何一个界面,其他界面都是暂停状态。暂停状态时,数据无法实时交互。

在地图界面中选择菜单时,许多萌新会误以为是在地图界面中添加了菜单,而实际上,这里已经离开了地图界面。地图的轮廓只是一个地图截屏放在了菜单的背景中而已

贡献者

暂无相关贡献者

页面历史

暂无最近变更历史