RPGMakerMV探秘12-自動(dòng)顯示地圖名稱
????????本文介紹的插件MOG_MapNameHud.js,內(nèi)容比較少,功能也比較單一,而且實(shí)現(xiàn)原理跟此前的部分插件基本一致。本來不想單獨(dú)拿出來介紹的,但是實(shí)力有限,大插件分析起來實(shí)在頭疼,進(jìn)度緩慢,只能先炒冷飯了,安慰自己蚊子再小也是肉,不積跬步無以至千里。。。
????????該插件的主要作用是角色進(jìn)入地圖后,在地圖場景的指定位置短時(shí)間顯示該地圖的名稱,為了美化,在文字地圖名稱上加上了邊框。
????????先看參數(shù):

????????Game_Temp初始化時(shí),新增了兩個(gè)控制數(shù)組,作用如下:?

????????顯示圖層的創(chuàng)建及地圖名稱的創(chuàng)建與前文金錢展示窗口一樣,這里定義了Map_Name_Hud用來加載資源、創(chuàng)建精靈、初始化資源參數(shù)等。

????????然后看到update方法,如果_mhud_sprite[0]為真,也就是在切換地圖時(shí),做出如下判斷,需要進(jìn)行地圖名稱的更新:

????????則會(huì)通過update_position方法,利用_mhud_sprite[1]控制Map_Name_Hud的位置及透明度實(shí)現(xiàn),Map_Name_Hud的淡入顯示,持續(xù),淡出,移動(dòng)消失。
????????當(dāng)Map_Name_Hud消失的同時(shí),_mhud_sprite[0]被設(shè)置為false,將不再執(zhí)行update_position。也就是說切換地圖的時(shí)候只會(huì)顯示一次地圖名稱,直到切換到新的地圖。
????????回過頭來看下,該插件在最初用了Game_Temp這個(gè)對(duì)象,在上篇文中介紹MOG_GoldHud.js插件時(shí),使用了Game_System對(duì)象,兩個(gè)插件均只是在初始化時(shí),添加了部分插件的私有變量。從字面上看,一個(gè)是游戲的臨時(shí)對(duì)象,一個(gè)是系統(tǒng)對(duì)象。其實(shí)你將
_mhud_sprite、_mhud_data定義到Game_System中一樣可以使用。
????????他們的區(qū)別在于,Game_Temp用完即毀,每次切換地圖,這其中的變量都是在變化的。而Game_System中的變量一般是全局性的,比如MOG_GoldHud.js中_ghud_visible,如果你不去修改,他是不會(huì)變動(dòng)的。還有一個(gè)重要的就會(huì),Game_Temp基本用語游戲進(jìn)行時(shí)數(shù)據(jù)的存儲(chǔ),而Game_System則會(huì)在游戲結(jié)束,存檔時(shí),將Game_System序列化存儲(chǔ)至本地,等下次繼續(xù)游戲時(shí),再把這些變量讀取處理。
????????所以以后我們自己寫插件的時(shí)候,盡量考慮這些,做好分類。
????
????????注:以上分析均為作者興趣出發(fā),自學(xué)有感,對(duì)于js的認(rèn)知還存在不足或者偏差,如有錯(cuò)誤,歡迎指正。