1、相信用过XP的朋友在测试VA的过程中,都难免对XP行走图有所怀念。然而,VA行走图的默认格式是3×4;XP的默认行走图是4×4:以至在行走图互动方面,更多的人热衷于对XP的原图进行PS。葶矩礞珈毕竟乍一看,VA行走图的规格是【384×256】:或者VA单人行走图的规格是【96×128】:其实比例可以的话无论规格的 不超过576x384其实比例只要是1.1.1就可以了 分三排每排4列相等的话就可以使用直接用的话 他会不适应但实际上,VA是支持XP的4×4行走图的。甚至支持 8×4的行走图(或更多),因为VA的脚本并没有明文限定行走图的大小尺寸。然后,问题就来了,VA到底是怎样定义这些行走图的呢?我们不妨来看一看VA的脚本都写了什么?以目前找到的2个相关的脚本为例:
2、先来看看Sprite_Character在脚本中找到 ●设置角色的位图:第90行的3改成4从上图中我们找到了VA行走图的3×4结构。也就是说如果是导入XP的4×4行走图的话,我们只需给图片名前加上‘$’,然后把 3(份)改成 4(份)就通过了。实际上真是这样吗?我们修改一下然后运行,看看效果:.修改如下:
3、然而打开游戏后,效果却不太理想。我们发现角色只有1条腿在伸展,行走中相当别扭。痘痉颔湄那这是为什么呢?我们继续在Sprite_Character函讳雍蛾脚本上往下看脚本,找到 ● 更新源矩形 :找到第105行我们找到了图中指向的位置也出现了一个 3。那么这一句是干嘛用的呢?由于笔者没学过Ruby而且对英文的理解能力,还停留在百度翻译的水平,所以对这一行代码还是感觉很迷糊,粗略理解下,它可能是:1、如果角色图案(是指当前编号吗?)小于3,就读取图案1,并将结果保存到pattern。又可能是:2、如果角色图案小于3就将结果保存到pattern,否则就读取图案 1。由于通过把1改为0,进行调试,得不到预期的结果。所以这句代码到底执行了什么,还请高人赐教。不过通过修改另一个数据,我们得到了另一个结果。修改如下:
4、如上图再把代码中的 3 改成 4 之后运行游戏,我们发现角色的2条腿都伸展开来了,看起来流畅多了。瞽攥涛徭但是放开按键的时候,角色的静止图还是有点别扭。关于这个静止图,我们得来分别看看VA的单张行走图片和XP的单张行走图片,然后以VA的默认格式铺排一下:从上图中,我们看到了,VA默认读取 1号图案作为静止图。在导入4×4行走图时,到静止状态,VA依然读取图 1。所以,我们运行到静止的时候,图案并没有立正。要让4×4图案出现静止时立正,那我们就至少得让VA读取 0号图案。这个要怎么做呢?这回我们得翻到另一个脚本:Game_CharacterBase从脚本中往下第75行找到:● 初始化私有成员变量这里将@original_pattern= 1的1改为 0后执行游戏,角色静止时就处于立正的姿势了。至此,VA的角色行走图结构就从3×4,变成了4×4。不过VA默认最大支持4×4图案,如果要让VA支持更多图案,比如8×4这样的,还需修改另一个地方。只是估计也没人要用到5×4以上吧?这里笔者也有点累,本篇就先啰嗦到这里了。另外,关于VA的4×4行走图,在开始游戏时,角色的第一个动作还是会读取图案1,虽然系统马上就自动修正了,但还是有点美中不足吧!
5、关于4×4开始游戏时角色第一个动作的事项,原来Game_CharacterBase 脚本中第155行附带了● 矫正姿势 的指令:这样,在4×4行走图开始游戏时也可以处于立正姿势登场了。另外关于VA行走图上限的修订,同样是Game_CharacterBase脚本往下看:这下就可以在va里面直接使用xp的行走图素材