关于行走图优化核心
相关插件
核心插件:
◆Drill_CoreOfEventFrame 行走图 - 行走图优化核心
子插件:
◆Drill_EventFrameLayerAndZIndex 行走图 - 层级与堆叠级
◆Drill_CoreOfEventFrameWithMouse 行走图 - 行走图与鼠标控制核心
……
核心提供行走图的各种基本功能,优化功能结构。
并且定义了 行走图碰撞体 的结构。
该文档主要介绍 行走图自身属性 的定义、控制。 |
行走图碰撞体
定义
碰撞体: 是指游戏中用于模拟碰撞检测的多边形。
(你可以百度搜索“碰撞体”,这里只是一个2d多边形检测用的对象)
矩形碰撞体: 是指设置资源后,系统自动根据 资源大小+贴图变换 来确定的碰撞体。
目前常用于检测鼠标是否接触到行走图。
查看方法
核心中提供了 行走图碰撞体 的显示。
使用下面插件指令能显示碰撞体:
示例中 行走图管理层 显示效果是 紫红色的矩形+锚点:
物体id规范
打开 ”DEBUG碰撞体查看” 时,你会发现玩家、事件、玩家队员的编号不一样。
使用插件指令,获取 事件id、玩家队员id、载具id 时。
也会提及找不到时返回-1,若为玩家则返回-2。
这个插件指令的表示方法并不是零散的,而是统一的设定,如下:
类型\id值 | 大于0 | 0 | -1 | -2 |
事件id(event_id) | 正常id值(1表示地图里id为1的事件) | 无效 | 找不到对象 | 表示玩家 |
玩家队员id(follower_id) | 正常id值(1表示玩家身后第1个队员) | 无效 | 找不到对象 | 表示玩家 |
载具id(vehicle_id) | 正常id值(1表示小船,2表示大船,3表示飞艇) | 无效 | 找不到对象 | 表示玩家 |
由于玩家是一个非常特殊的存在,能同时具备事件、玩家队员、载具的相似功能,
所以这里插件指令获取id值时,如果是玩家,都按-2表示。
层级与堆叠级
定义
层级: 指界面中 固定定义 并且用于区分层次的 贴图。
每个层级都有名字,比如:下层、图块层、中层、图片对象层 等。
堆叠级: 指处于相同层级下,区分贴图先后顺序的 数字参数。
堆叠级也叫图片层级,数字值越大,越在上面。
界面、层级、堆叠级的关系如下图。
(堆叠级也称”图片层级”,可以去看”0.基本定义 > 界面.docx
”的层级与堆叠级章节)
查看方法
核心中提供了 行走图碰撞体 的显示。
使用下面插件指令能显示碰撞体:
示例中 设计-横版2D模仿 的效果是 绿色的文本显示:
默认层级
1)物体的层级
地图界面中,物体和图块被 简单划分 为一类层级。
但是实际上,它们层级要更复杂一点,如下图:
图块分为有星号和无星号两种,星号图块层 在 物体下层和物体中层 的上面,这也是为什么星号图块能挡住事件。 |
物体分为四个层级:** 物体原层级、物体下层、物体中层、物体上层**。
默认情况下,物体处于“物体原层级”。
即根据下图的优先级,自动切换 物体下层、物体中层、物体上层。
你可以使用插件修改层级,比如事件设置为“在人物下方”,但事件的层级可以设置为在“物体上层”。见后面章节:修改层级与堆叠级 。 |
2)层级查看与细节
使用“DEBUG堆叠级查看”时,由于层级名字太长,这里简化为了两个字:
"物原"表示"物体原层级","物上"表示"物体上层","上层"表示"上层"。
另外注意,记得随时打开debug查看层级,
并且注意“物中”和“中层”,不要写错了。
(这两个层级容易混淆)
默认堆叠级
1)变化的堆叠级
当贴图处于 物体原层级、物体下层、物体中层、物体上层 时,
物体的堆叠级 = 贴图y轴值
因此,打开“DEBUG堆叠级查看”时,
你会发现堆叠级的值为522,这是因为贴图处于y=522的位置。
地图镜头上下移动时也会影响堆叠级,因为镜头会让贴图的y值变化。 |
2)固定的堆叠级
当贴图处于 下层、中层、上层 时,
物体的堆叠级是固定值,不会受到任何其他因素影响。
注意,“堆叠级”与“图片层级” 是同一个东西,只是称呼不同。
物体贴图处于这些层级时,会根据堆叠级与界面装饰插件相互排序。
如下图,小爱丽丝处于 中层+堆叠级1,地图背景处于 中层+堆叠级8,
所以这个地图背景在小爱丽丝前面,从而遮挡住小爱丽丝。
修改层级与堆叠级
能修改的插件如下:
◆Drill_EventFrameLayerAndZIndex 行走图 - 层级与堆叠级
该插件提供了灵活的 层级与堆叠级 的切换,
事件注释和插件指令如下。
所以,设置层级后,要注意根据情况使用“附加堆叠级”和“固定堆叠级”指令。
(堆叠级可以设置为小数、负数)
这个插件的具体效果,可以去 设计-横版2D模仿 看看。也可以看看文档:“6.地图 > 地图设计-横版2D模仿.docx ”。 |