Re: [問題]音速小子的行為模式

看板GameDesign (遊戲設計)作者 (嗯)時間18年前 (2006/06/05 01:20), 編輯推噓1(104)
留言5則, 2人參與, 最新討論串14/14 (看更多)
※ 引述《etrexetrex (ETREX)》之銘言: : 現在演算法知道了 : 但是有一個很大的問題就是如何判斷撞擊的角度是多少? : 在FLASH裡面有個 MC.HitTest(X,Y) 的函數 如果要真的做一點有樣子的模擬, hitTest 最好不要用... : 請問用什麼方法才可以有效的計算出撞擊時的角度(地面凹凸不平時) 其實這在我給的那個遊戲「N」網頁上就有說明 http://www.harveycartel.org/metanet/tutorials/tutorialA.html 看一下上面講的 Separating Axis Theorem (SAT) 如果不嫌棄英文的話 應該不會難懂 上面用到的也只有國高中的向量. 對於移動物體來說, 重要的是他的位移、速度、加速度在 x y 方向上的分量 對於碰撞時的處理, 是看碰撞點的 切線單位向量 與 法線單位向量 如何 把移動物體上相關的向量對 切線單位向量 與 法線單位向量 做投影 然後在這兩個方向上做相關的處理動作 只是說你今天地面凹凸不平要精緻到何種程度 也是決定實作方法的一個重要關鍵 是要像前面那個囧Game那樣, 連字元符號的邊緣都要能抓出來嗎? 當然那就非常難了, 那個囧Game的判定問題很多 因為碰撞圖型的外型太過複雜 所以那個囧Game只能做到 抓出大概的外型 而且在判定上的錯誤就會多 但我想光是做到那種程度已經相當不錯了 另外就是像 N, N 這個遊戲就比較類似傳統的 Platformer 地形不外乎固定大小的圓、弧、斜面、方塊等湊起來的 由於在碰撞元件上做過相當程度的化簡 所以系統較容易設計 效率上也能選擇針對特定地形設計碰撞函數 來達到效率上的提升 而且在碰撞判定上可以做到相當高的準確度 所以我認為先選定想做到的效果 再選擇適當的手法 approach 會比較好 個人意見 僅供參考 :) -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 203.72.57.78 ※ 編輯: linjack 來自: 203.72.57.78 (06/05 01:39) ※ 編輯: linjack 來自: 203.72.57.78 (06/05 01:48)

06/05 01:48, , 1F
啊....不小心修掉誰的推文 @__@a
06/05 01:48, 1F

06/05 18:20, , 2F
是我的 囧GAME 我猜是用FLASH本身的HITTEST做的
06/05 18:20, 2F

06/05 18:21, , 3F
因為這個函式可以判斷一個不規則形狀是否碰觸到某個點
06/05 18:21, 3F

06/05 18:22, , 4F
囧球在被壓擠時會往上跑,我想這就是囧球可以爬45度坡
06/05 18:22, 4F

06/05 18:23, , 5F
的原因
06/05 18:23, 5F
文章代碼(AID): #14WnPgiz (GameDesign)
討論串 (同標題文章)
文章代碼(AID): #14WnPgiz (GameDesign)