Re: [遊戲] 橢圓形移動範例

看板RPGMaker (RPG製作大師 - RPG Maker)作者 (太極狂龍)時間19年前 (2006/12/05 20:35), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串2/2 (看更多)
檔案我是用RM2K3打開的,沒辦法看到事件的外觀,只能用編號表示。 1.EV0005的那兩行移到EV0002前面, 少開一個事件"也許"可以省一點記憶體。 2.關於光點位置的演算法我有個點子但沒驗證過,姑且聽聽好了 I.計算光點位置 px = A * cos(θ) + hx py = B * sin(θ) + hy px = 光點的X座標 py = 光點的Y座標 hx = 主角的X座標 hy = 主角的Y座標 θ = 光點的θ座標 A = 橢圓路徑的X方向半徑 B = 橢圓路徑的Y方向半徑 II.移動光點,每frame執行一次 θ = θ + ω ω = 光點移動的角速度 在RM2K中的實作方法 1.找三個變數代表A、B、ω值,開個自動執行事件輸入數值,大小隨便定 2.開一個定期並列處理的事件,事件內容: .將主角的XY座標存成變數hx、hy .計算cos(θ)和sin(θ) .計算px = A * cos(θ) + hx和py = B * sin(θ) + hy .將圖片移動到座標(px,py) .將θ加上ω 其中最大的問題是cos(θ)和sin(θ)的計算 RMXP中有內建函數可以用 但在RM2K裡怎麼辦? 嗯...可以用查表的。 事先算好cos(0.1)、cos(0.2)......的值代入變數中 計算時則用內插法求值 RM2K不支援小數點,可在計算過程中把所有的變數值乘 上1000,最後再把答案除回去,可以保持一些精度 只是得小心數值太大會爆掉 不知道能不能用,參考看看。 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 59.117.67.28
文章代碼(AID): #15TMU7yi (RPGMaker)
文章代碼(AID): #15TMU7yi (RPGMaker)