作者:Mr.JX
日期:2007/08/03 11:51
難得我會跑來問問題(被打)
我最近做出了可以從敵人身上發射出去並且朝主角位置直線飛過去的攻擊
在距離很近(NPC周圍16格、總計33*33大小)下可以正常打到主角
不過在超出這個範圍下,似乎就會開始有誤差
例如打不到主角的情況(囧)
我想問的是.....各位在做這玩意時,有想到解決方案嗎....
以下是我做這玩意的特效用的指令:
以下是攻擊判定(雖然我認為和特效的誤差根本沒啥關係....)
G9中我發現斷神風是會和我做的一樣有很誇張的誤差(被打)
不過黑衣的手裏劍倒是做到完全沒誤差了......我比較想知道兩者的計算方式究竟是差在哪裡...
─────────────────────────────────
回應 (1)
小灰狼 於 2007/08/03 12:48
仔細研究了一下,似乎是移動圖片而已?
原本以為是移動地圖事件呢XD
不過好厲害= ="
至於BUG處理...就沒法提供意見了
─────────────────────────────────
回應 (2)
鬼發 於 2007/08/03 14:46
因為圖片跑超過1個螢幕的關係 座標就會錯誤
要用整張地圖的座標而不是螢幕的座標來計算才行
─────────────────────────────────
回應 (3)
Mr.JX 於 2007/08/03 18:31
真糟糕........我可能問了一個可以考倒一堆人的問題(死)
雖然剛才我找到應急方法,就是將攻擊判定範圍從原本的24*24擴大到32*32
因為剛才用CM1999檢查飛射武器的圖片大小,發現竟然有39*39大
以及在判定出作為不變需移動距離軸之後(第3張圖),如果固定移動距離軸距離主角超過16格
然後另一軸原本加減後距離不為0的話(就是不為一直線)
就將他進行餘12處理,判定餘的結果是否大於12或小餘-12,符合的話就將需移動距離加1或減1
藉此減少追蹤誤差,執行結果就變成了幾乎百發百中(炸)
─────────────────────────────────
回應 (4)
sanmoelen 於 2007/08/03 20:18
斷神風是2004年中的技術
黑衣是2005年初的技術
當然差很多(?)
簡單來說4個字,浮點運算
※今年是2007年中(啥)
─────────────────────────────────
回應 (5)
艾薩克[艾] 於 2007/08/03 21:08
>SE
RM可以做到float嗎..?
個人是把數字放大代替float就是了(死
─────────────────────────────────
回應 (6)
Mr.JX 於 2007/08/03 23:33
>斷神風是2004年中的技術
>黑衣是2005年初的技術
>當然差很多(?)
囧.....我落伍了嗎.....?(炸)
因為我的作法是參考段神風的那個下去改的(死)
>RM可以做到float嗎..?
只能做到大概而已吧.....不能做到很精確
剛剛嘗試用類似浮點的方式下去做,結論:越搞越複雜
─────────────────────────────────
回應 (7)
sanmoelen 於 2007/08/04 16:19
確實就是放大而已
黑衣的飛鏢我是做放大16倍
就好像把1600滴血做成100格長的量條
一樣的原理而已,每損16滴血,量條才會移一格
通常來說放大個100倍已經很夠用
不過這樣可以用到的數字會太小