GMS2中實(shí)現(xiàn)時間變慢
你大概需要3min來閱讀這篇文章
這里是Feishiko,今天來分享一下關(guān)于如何在GMS2中實(shí)現(xiàn)時間緩動的效果。
這個效果本身實(shí)現(xiàn)起來不難,所以這邊主要是來點(diǎn)一下思路。
圖像繪制
個人比較懶,所以就直接畫出來了
oPlayer DrawEvent
oBullet DrawEvent
準(zhǔn)備工作
接下來點(diǎn)一下要怎么實(shí)現(xiàn),首先子彈和玩家都會有一個速度,當(dāng)時間減慢的時候,玩家的速度和子彈的速度都會變慢,所以我們要用他們的速度除以一個>1的數(shù),或者乘以一個小數(shù)。
首先玩家和子彈都需要一個速度,我這邊都記為spd變量,然后讓他們除以一個全局變量,如果你不想用全局變量也可設(shè)置一個object保持,假設(shè)是oGameCont,那就oGameCont.那個變量,這個是控制全局物體速度的核心變量。
具體實(shí)現(xiàn)起來像這個樣子。
于是我們得到了計算之后真正的速度
核心代碼
接下來如何讓角色移動,子彈移動,都采用這個計算出來所得到的速度。
這是玩家移動的大致代碼
完美移動
雖然會繁瑣一點(diǎn),但是這樣移動不會出現(xiàn)斜向更快的現(xiàn)象。
子彈的移動代碼
之所以運(yùn)用這種方法而不用GMS自帶的變量是因?yàn)檫@樣會更好更方便操縱,也會更好的管理。當(dāng)然視具體情況而定,有時候也可以小用一下GMS的內(nèi)置變量,比如我照樣用這里的direction。
時緩和正常狀態(tài),我這里用了一個比較絲滑的方法過渡。
線性插值
最后效果

大概就是這么多,希望你喜歡本期內(nèi)容!
個人itch.io鏈接: https://feishiko.itch.io/
個人Twitter鏈接: https://twitter.com/FeishikoMonster
2022/10/15