作者yoll522 (522)
看板GameDesign
標題[請益] 橫向卷軸的障礙物
時間Sun Oct 7 18:05:47 2012
不好意思,我又有問題想請教一下了
我在橫向捲軸遊戲裡面可能會有一些障礙物需要跳起來踩在上面才能移動
例如:
http://ppt.cc/iHku
當我在地面咖啡色往右移動的時候碰到黑色的就必須要跳起來才能繼續前進
再往右移動碰到紅色也是必須跳起來
本來想說這狀況用矩陣碰撞來判斷就好,
但是我人物跳起來到最高點後『會開始降落,直到踩到地板為止』
如果我人物目前站在咖啡色的地方跳,跳起來後往右移動
照理應該會在降落時踩到黑色就停止降落,可是因為跳起來的地方是咖啡色
程式會變成說我還沒有踩到地板,會一直降落,
可是又因為人物已經碰到黑色所以就一直不讓他降落
想請問各位高手們該怎麼辦@@ 謝謝
============
我剛剛有想出一個方法可以解決,雖然成功了,但是這方法有點腦
我弄了一個變數int floor_y來判斷目前角色的位置地板應該多高
if (x>=0 && x<=100 )
floor_y =50 //這是咖啡色的地板位置
else if (x>=101 && x<=150 )
floor_y =80 //這是黑色的地板位置
else if (x>=151 && x<=200 )
floor_y =100 //這是紅色的地板位置
這樣我就可以說當人物降落時
if( y + 人物高度 < floor_y )
如果成立就代表人物還沒踩到地板,要繼續降落
可是這樣就等於我必須把遊戲地圖全部的障礙物都寫進來判斷,有點沒有效率@@
想說這應該不是最好的方法,因此還是想請教一下,謝謝
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 220.134.49.54
1F:推 damody:有一本書叫 real-time collision 感覺可以解決你的問題 10/07 18:07
請問d大這本書有中文版的嗎?因為我google看了一下都只找到英文的
2F:推 NDark:鋪 terrain . 10/07 19:52
請問N大鋪地形是什麼意思?
是用陣列存地圖資訊,然後判斷目前走在哪一個點上嗎?
※ 編輯: yoll522 來自: 220.134.49.54 (10/07 20:07)
※ 編輯: yoll522 來自: 220.134.49.54 (10/07 20:08)
3F:推 NDark:可以這樣說. 10/07 20:12
4F:推 NDark:google "2d game terrain generation" 10/07 20:14
我剛剛看了一下,所以遊戲的背景應該是由程式去讀陣列
去判斷哪裡應該是要貼什麼素材來製成背景嚕,
我本來是想說請美工的人把背景全部一次畫出來@@
謝謝N大,我在找找看地形的相關資訊
※ 編輯: yoll522 來自: 220.134.49.54 (10/07 20:27)
5F:推 NDark:一次畫也可以.terrain對的起來就好. 10/07 20:28
不好意思,我查了一下後有個問題想請問一下
如果要用鋪地形,那麼我是不是必須把遊戲視窗切成網格
我們預設遊戲視窗為1024*768,假設我1格大小為50像素,
所以會切成int terrain[20][15]
可是這樣不就等於我人物往右移動一次,就必須一次x+50
這樣人物感覺就會一瞬間前進一大步@@
可是我切的太細陣列的大小又會變得太大
管理起來非常不便
是不是我對鋪地形的理解錯誤了@@?
謝謝
※ 編輯: yoll522 來自: 220.134.49.54 (10/07 20:57)
6F:推 NDark:可以用內差的. 10/07 21:00
7F:推 ventin2001:橫向遊戲問題可看-Flash ActionScript3.0平台遊戲開發 10/07 21:39
8F:→ yoll522:感謝你,也謝謝n大,我改天會去書店看一下這本書的 10/08 02:19
9F:推 allenwang15:樓樓上推薦的書真特別 我一直都滿想要看這類的 10/09 15:40
10F:→ yoll522:這本書滿難找的,拍賣場的賣家還跟我說絕版了 10/11 19:27
11F:→ yoll522:昨天在pc home終於找到一家剛好剩一本,可是要調貨 10/11 19:28