欢迎光临散文网 会员登陆 & 注册

RPGMakerMV探秘12-自动显示地图名称

2020-11-16 17:22 作者:狂奔小菜鸡  | 我要投稿

        本文介绍的插件MOG_MapNameHud.js,内容比较少,功能也比较单一,而且实现原理跟此前的部分插件基本一致。本来不想单独拿出来介绍的,但是实力有限,大插件分析起来实在头疼,进度缓慢,只能先炒冷饭了,安慰自己蚊子再小也是肉,不积跬步无以至千里。。。

        该插件的主要作用是角色进入地图后,在地图场景的指定位置短时间显示该地图的名称,为了美化,在文字地图名称上加上了边框。

        先看参数:

参数

        Game_Temp初始化时,新增了两个控制数组,作用如下: 

控制变量

        显示图层的创建及地图名称的创建与前文金钱展示窗口一样,这里定义了Map_Name_Hud用来加载资源、创建精灵、初始化资源参数等。

Map_Name_Hud

        然后看到update方法,如果_mhud_sprite[0]为真,也就是在切换地图时,做出如下判断,需要进行地图名称的更新:

needRefreshMhud

        则会通过update_position方法,利用_mhud_sprite[1]控制Map_Name_Hud的位置及透明度实现,Map_Name_Hud的淡入显示,持续,淡出,移动消失。

        当Map_Name_Hud消失的同时,_mhud_sprite[0]被设置为false,将不再执行update_position。也就是说切换地图的时候只会显示一次地图名称,直到切换到新的地图。

        回过头来看下,该插件在最初用了Game_Temp这个对象,在上篇文中介绍MOG_GoldHud.js插件时,使用了Game_System对象,两个插件均只是在初始化时,添加了部分插件的私有变量。从字面上看,一个是游戏的临时对象,一个是系统对象。其实你将

_mhud_sprite、_mhud_data定义到Game_System中一样可以使用。

        他们的区别在于,Game_Temp用完即毁,每次切换地图,这其中的变量都是在变化的。而Game_System中的变量一般是全局性的,比如MOG_GoldHud.js中_ghud_visible,如果你不去修改,他是不会变动的。还有一个重要的就会,Game_Temp基本用语游戏进行时数据的存储,而Game_System则会在游戏结束,存档时,将Game_System序列化存储至本地,等下次继续游戏时,再把这些变量读取处理。

        所以以后我们自己写插件的时候,尽量考虑这些,做好分类。


    

        注:以上分析均为作者兴趣出发,自学有感,对于js的认知还存在不足或者偏差,如有错误,欢迎指正。


RPGMakerMV探秘12-自动显示地图名称的评论 (共 条)

分享到微博请遵守国家法律