Skip to content

关于行走图与图块

名词索引

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

行走图规则单行走图 八行走图 图块行走图其他规则扩展
行走图属性帧数 朝向 中心锚点碰撞体 物体id规范

行走图规则

单行走图

单行走图(也称大图)的文件名必须要在开头加”小爱丽丝.png”。

资源排布方式为下图所示:(每块48x48,共144x192)

需要注意的是,资源是被分成了12等分,但是并不代表每等分必须是48x48像素

比如下图,可以是48x96像素:(每块48x96,共144x384)

在这12等份中,分别表示不同的情况,每个朝向默认3帧,并且是以2->1->2->3->2…的往返方式播放的。(多帧行走图、锁定帧 插件可以额外修改顺序)

八行走图

八行走图(也称一般图)的文件名没有要求,只要开头不是”$”即可。

资源排布方式为下图所示:(每块48x48,共576x384,12*8等分)

同样的,每等分不一定必须48x48,可以设置成其他大小。

比如下图,可以是48x96像素:(每块48x96,共576x768)

如果物体不需要旋转,不需要考虑朝向,不需要步行动画,

那么每个等分可以代表不同的物体,如下图。(12*8个48*48的物体)

图块行走图

图块行走图是 没有朝向、没有帧数 的行走图,

只能按照图块大小(48x48)来进行约束,如下图。

图块没有”-小型摆件-”的分类设计,作者我为了方便,去掉几个图块的空间作为分类名。

原设定之所以把各种场景元素都集中在图块中,是因为为了节约资源图片的内存占用,每读取一张图片,会多占用一部分内存。

加载资源等待时间长、内存占用大 对于手机端和网页端是相当麻烦的问题。

(PC电脑中读取速度非常快,不存在这种问题。)

其他规则扩展

1)单图标

来自插件:

◆Drill_EventIcon 行走图 - 图标行走图

该插件能把行走图变成一个图标。

图标就是单张图片,不属于单行走图八行走图图块行走图

2)动画序列

来自插件:

◆Drill_EventActionSequence 行走图 - GIF动画序列

该插件能把行走图变成一个动画序列。

动画序列不属于单行走图八行走图图块行走图

详细可以去看看文档介绍:“7.行走图 > 关于行走图GIF动画序列.docx”。

3)其它引擎界面的设定

以STG界面为例。

该界面要求使用八行走图,并且处于上下的等分形成一组,对应八个方向。

即 1/5、2/6、3/7、4/8 为一组,对应 下/左/右/上/左下/左上/右下/右上 八个方向。

详细去看看STG的文档介绍:“33.STG”。

行走图属性

帧数

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

以单行走图为例,单行走图一共有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表示。

子插件

【行走图 - 行走图优化核心】(指向)

插件本体:

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

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

◆Drill_EventMouseHoverSwitch 物体 - 鼠标悬停响应开关

行走图优化核心有专门的文档介绍,可以去看看:

7.行走图 > 关于行走图优化核心.docx”。

7.行走图 > 关于行走图与鼠标控制核心.docx”。

【行走图 - 多帧行走图】(指向)

插件本体:

◆Drill_EventFrameNumber 行走图 - 多帧行走图

◆Drill_EventFrameLock 行走图 - 锁定帧

多帧行走图有专门的文档介绍,主要为横向 帧数 的扩展功能。

详细去看看文档:“7.行走图 > 关于多帧行走图.docx

【行走图 - 玩家接近自动透明化】

插件本体:

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

1)功能说明

该插件中,你需要提供高度大于48像素的单行走图、八行走图等分,

来作为柱子、云朵、屋檐等阻挡物。

2)碰撞体范围

上图可以看到,透明化 根据 玩家的行走图等分(碰撞体) 与 柱子行走图等分(碰撞体) 的相交情况来触发。

量子妹身后的小爱丽丝,不属于玩家行走图,所以就被柱子挡住了。

另外,插件默认设置为:绕到背后透明。

假设量子妹的身高很高(比如48x96像素),那么她站在柱子前面时,量子妹碰撞体与柱子碰撞体是相交的,但这时候柱子不应该透明,所以才有“绕到背后透明”的设置。

该插件在实际使用时,容易出现歧义,注意了解一下常见问题:自动透明化的插件功能没有效果

常见问题(FAQ)

自动透明化的插件功能没有效果

问题名称自动透明化的插件功能没有效果
问题图示
问题描述如图,在游戏中不透明,单独建立一个工程,也一样不透明。
原理解析1.首先,作者我单独建立一个工程,没问题。2.然后,只能说群友太莽了,没有行走图的结构认识,做出匪夷所思的操作。为了方便,群友用的是 图块行走图,而且把本来为高塔的48x96行走图,给拆成了两个事件。插件不是这样用的啊……3.插件定义还有个细节,如下图。“绕到背后透明”是为了解决48x96 的行走图情况。如果玩家和柱子在同一个y图块位置时,柱子则不会透明。但就是因为这个设定,导致群友以为没生效。
解决方案1.如果把行走图拆成了多个事件,那么多个事件都加下面的注释。=>玩家接近自动透明化 : 开启=>玩家接近自动透明化 : 条件 : 只要接触就透明2.或者,将行走图用ps或者其他方式,改成48x96的高度即可。玩家只要站在该事件后面的图块,就自动透明。
鉴于群友问我为什么要把这个 透明化插件 弄的那么复杂?作者我的回答是:因为这个插件一开始就不是按你想的这个拆散48x48行走图写的。举个例子,我设计的是“包子”,包子要用蒸笼,要用水蒸熟。但你要的是“汤圆”,然后你把包子直接扔水里煮了,我大呼不能这样做,要用蒸笼,你问为什么要用蒸笼?难道扔水里煮就不能吃了吗?我无言以对,确实,水煮可以吃。但不是你这样做的啊……现在你问我为什么做出来的这个包子那么难吃?无奈,作者我的回答是:因为包子一开始就不是按你想的那样设计出来的。

贡献者

暂无相关贡献者

页面历史

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