小屋創作

日誌2018-05-19 22:51

[MV plugin] Sprite追加Z軸的腳本

作者:未来ずら

RMMV的Sprite目前沒看到z之類能自由調優先度的屬性,這腳本就是實現這功能
因為寫腳本才會用到,所以這是給腳本作者用的腳本

注意裝上後要做好管理z軸的工作,還有只支援Sprite及他的子類(Window類和其他基本不支援)

至於為什麼不支援Window對象,因為這次Window對象預設是給 WindowLayer 去管
改了其中一個對象也沒用,改不到 WindowLayer;改WindowLayer又會統一變動
通常圖片也不會把視窗蓋掉,所以就算了

其他也不改,因為這些對象在預設狀態中都是排在Sprite對象後
所以非Sprite物件的優先度必定比較高



效果示範:


載點
https://www.dropbox.com/s/ghwlnzj91dpba5e/Sprite_propertyZ.js?dl=0

v1.4
結構調整

v1.3
因為問題一大堆,addChild()時不再自動排序

v1.2
修正進戰鬥時的畫面問題,同時讓ScreenSprite和TilingSprite也有z屬性

v1.1
addChild()時能馬上反映優先度,並修正和非Sprite對象比較時無法正確排序的問題




其實早就做出來了,不過當時測試有點問題結果以為沒成功
因為 RMMV 的圖片優先度仰賴 Sprite 對象在 children 中的排序(越後面的顯示優先越高)
之前直接用 xxx.children[0].z = 1 來調整,可是這樣有個問題
假設原本的children是這樣:
[A, B, C, D, E]

改了之後就會變這樣:
[B, C, D, E, A]

結果就是明明看到輸入時返回值是對的,但再用xxx.children[0].z一看欸怎麼還是0
啊現在在0這個位子的是B,而不是原來的A啊

MV預設很多地方會直接把Sprite對象addChild()後不管,在這時候就不方便
要控制的話,最好再用個變數和目標Sprite關聯,最保險




3

0

LINE 分享

相關創作

【玩後】漠之月

最近在用RMU

RPG"Project Pure Fantasy"製作,5月記事-奇怪兔子人開始進入主線

留言

開啟 APP

face基於日前微軟官方表示 Internet Explorer 不再支援新的網路標準,可能無法使用新的應用程式來呈現網站內容,在瀏覽器支援度及網站安全性的雙重考量下,為了讓巴友們有更好的使用體驗,巴哈姆特即將於 2019年9月2日 停止支援 Internet Explorer 瀏覽器的頁面呈現和功能。
屆時建議您使用下述瀏覽器來瀏覽巴哈姆特:
。Google Chrome(推薦)
。Mozilla Firefox
。Microsoft Edge(Windows10以上的作業系統版本才可使用)

face我們了解您不想看到廣告的心情⋯ 若您願意支持巴哈姆特永續經營,請將 gamer.com.tw 加入廣告阻擋工具的白名單中,謝謝 !【教學】