Skip to content

关于行走图优化核心

相关插件

核心插件:

◆Drill_CoreOfEventFrame 行走图 - 行走图优化核心

子插件:

◆Drill_EventFrameLayerAndZIndex 行走图 - 层级与堆叠级

◆Drill_CoreOfEventFrameWithMouse 行走图 - 行走图与鼠标控制核心

……

核心提供行走图的各种基本功能,优化功能结构。

并且定义了 行走图碰撞体 的结构。

该文档主要介绍 行走图自身属性 的定义、控制。

行走图属性

帧数

帧数: 指行走图播放行走动画的帧数。

以单行走图为例,单行走图一共有3x4=12个等分,横向的3列为帧数。

并且第2帧为初始帧。

使用插件 多帧行走图 可以扩充横向的帧数,

如下图默认分成3(帧数)x4(方向)=12等分,修改为n帧后,行走图将分成nx4等分。

(多帧行走图插件的介绍可以去看看文档“7.行走图 > 关于多帧行走图.docx”)

朝向

朝向: 指行走图的朝向。

以单行走图为例,单行走图一共有3x4=12个等分,纵向的4行为朝向。

注意,游戏脚本中,朝向的值为:2下/4左/6右/8上。

这对应了小键盘的四个方向。(如果有八方向行走图,1/3/7/9将对应斜向朝向)

行走图资源中的朝向也是从上往下按照2/4/6/8顺序排列,所以你看到的行走图都是 下/左/右/上 的顺序。

中心锚点

1)纵向比例

行走图的中心锚点在事件正下方的点,如果只改变高度,可以按照48的倍数改变,也可以自定义高度。

2)横向比例

如果你要改变宽度,需要注意宽度问题,偶数比例会出现半个图块的占用情况。

所以横向的比例建议用1,3,5,7……奇数比例的宽度。

碰撞体

1)定义

碰撞体: 是指游戏中用于模拟碰撞检测的多边形。

(你可以百度搜索“碰撞体”,这里只是一个2d多边形检测用的对象)

矩形碰撞体: 是指设置资源后,系统自动根据 资源大小+贴图变换 来确定的碰撞体。

目前常用于检测鼠标是否接触到行走图。

行走图优化核心插件提供了 行走图碰撞体 的显示。

使用下面插件指令能显示碰撞体:

示例中 行走图管理层 显示效果是 紫红色的矩形+中心锚点+id数字 。

2)碰撞体范围

以鼠标悬停响应开关为例,

比如 鼠标管理层 中,当鼠标接近小爱丽丝的行走图时,她会切换事件页。

碰撞体的范围,与行走图的大小相关,

如下图的,48x96大小的情况。

3)碰撞体注意事项

注意,如果事件页第一页为高的行走图48x144,而第二页为小的行走图48x96,

那么当鼠标悬浮在缺失区域时,会出现事件页不停地来回切换的问题。

这是因为切换事件页后,行走图变了,碰撞体范围也变了,导致两个事件页之间反复来回切换。

因此,要注意保持行走图大小一致。

如果事件页为空白时,也要配置空的相同大小透明图片,以确保 碰撞体范围 不变。

物体id规范

打开 ”DEBUG碰撞体查看” 时,你会发现玩家、事件、玩家队员的编号不一样。

使用插件指令,获取 事件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表示。

行走图规则(指向)

行走图分为 行走图规则和行走图属性 两个部分。

行走图规则分为:单行走图、八行走图、图块行走图、其他规则(比如动画序列)。

行走图属性分为:帧数、朝向、中心锚点、碰撞体。

行走图规则相关介绍可以去看看文档:“7.行走图 > 关于行走图与图块.docx”。

另外 层级与堆叠级 其实也属于行走图属性,但由于不常用,所以没列出来。

层级与堆叠级

定义

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

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

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

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

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

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

查看方法

核心中提供了 行走图碰撞体 的显示。

使用下面插件指令能显示碰撞体:

示例中 设计-横版2D模仿 的效果是 绿色的文本显示:

默认层级

1)物体的层级

地图界面中,物体和图块被 简单划分 为一类层级。

但是实际上,它们层级要更复杂一点,如下图:

图块分为有星号和无星号两种,星号图块层 在 物体下层和物体中层 的上面,这也是为什么星号图块能挡住事件。

物体分为四个层级:** 物体原层级、物体下层、物体中层、物体上层**。

默认情况下,物体处于“物体原层级”。

即根据下图的优先级,自动切换 物体下层、物体中层、物体上层。

你可以使用插件修改层级,比如事件设置为“在人物下方”,但事件的层级可以设置为在“物体上层”。见后面章节:修改层级与堆叠级

2)层级查看与细节

使用“DEBUG堆叠级查看”时,由于层级名字太长,这里简化为了两个字:

"物原"表示"物体原层级","物上"表示"物体上层","上层"表示"上层"。

另外注意,记得随时打开debug查看层级,

并且注意“物中”和“中层”,不要写错了。

(这两个层级容易混淆)

默认堆叠级

1)变化的堆叠级

当贴图处于 物体原层级、物体下层、物体中层、物体上层 时,

物体的堆叠级 = 贴图y轴值

因此,打开“DEBUG堆叠级查看”时,

你会发现堆叠级的值为522,这是因为贴图处于y=522的位置。

地图镜头上下移动时也会影响堆叠级,因为镜头会让贴图的y值变化。

2)固定的堆叠级

当贴图处于 下层、中层、上层 时,

物体的堆叠级是固定值,不会受到任何其他因素影响。

注意,“堆叠级”与“图片层级” 是同一个东西,只是称呼不同。

物体贴图处于这些层级时,会根据堆叠级与界面装饰插件相互排序。

如下图,小爱丽丝处于 中层+堆叠级1,地图背景处于 中层+堆叠级8,

所以这个地图背景在小爱丽丝前面,从而遮挡住小爱丽丝。

修改层级与堆叠级

能修改的插件如下:

◆Drill_EventFrameLayerAndZIndex 行走图 - 层级与堆叠级

该插件提供了灵活的 层级与堆叠级 的切换,

事件注释和插件指令如下。

前面章节介绍了 变化的堆叠级固定的堆叠级

所以,设置层级后,要注意根据情况使用“附加堆叠级”和“固定堆叠级”指令。

(堆叠级可以设置为小数、负数)

这个插件的具体效果,可以去 设计-横版2D模仿 看看。也可以看看文档:“6.地图 > 地图设计-横版2D模仿.docx”。

贡献者

暂无相关贡献者

页面历史

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