看板 GameDesign 關於我們 聯絡資訊
大家好 最近在設計類似洛克人的遊戲 我現在遇到碰撞偵測的一些問題 主要是想設計一個類似跳台的地方 碰到跳台的左右兩側可以慢速滑下來 (有玩過洛克人應該都有印象) 碰到跳台的下面會反彈落下 (當然就跟超級馬力去撞已經撞過得?號是一樣的意思) 站到跳台上面就跟在地面行走一樣 我不確定這樣的要求是不是非常難的工作@@ 翻了一些資料 但是我摸了好幾天幾乎一天快13個小時左右 一直沒辦法設計出成功的邏輯模組 可以請高手幫我看一下嗎? /* http://ideone.com/Lhe3YO 這個是檢測是否兩物體碰撞成功的程式 參考: http://lazyfoo.net/SDL_tutorials/lesson17/index.php 再加上自己的一些想法改編的 主要是加入四個數字來判斷到底碰到哪一邊 */ /*這邊是邏輯區*/ /* http://ideone.com/HzjxoC box就是我洛克人的一個方塊 Wall就是我設定的牆壁(應該不是重點) 主要的想法是說 左右邊碰撞的時候 洛克人朝原來移動的反方向動(跟邊界碰撞一樣) 但是另外有速度5向下 上面碰撞時就直接落下 且比攀爬牆壁快 速度10 站在平台上 這瞬間Y速度歸0 */ 感覺想法都沒錯 可是執行的時候 會有穿牆的問題 一直看不透到底哪邊有問題 我知道資訊可能比較片段 因為我也不知道問題出在哪邊= = 如果有需要更多資訊請跟我說 我看到會盡快補足資料的 希望高手能給我一點想法 感謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 111.253.122.210
azureblaze:不考慮用box2d之類現成的物理引擎嗎? 02/14 01:19
BSpowerx:你的check_collision在沒碰撞的時候才會去設定Left/Right 02/14 01:19
BSpowerx:/Top/Bottom_Collision 這不太對吧 02/14 01:20
KanoLoa:x_rockman += x_velocity; 和y 的這兩行要放最後才對 02/14 20:58
juicefish:不能用else if 02/15 00:56
juicefish:XY移動量不為1的時候很容易直接卡進角中 要同時判定 02/15 01:04
juicefish:再來是有接觸判定後 偏移量不一定是定值 02/15 02:11