看板 GameDesign 關於我們 聯絡資訊
各位高手們好,我最近在設計橫向捲軸的遊戲 目前單純沒有斜坡的橫向移動大概沒有問題 但是目前要設計上坡跟下坡的時候卡住了,因此想請問各位一下 http://ppt.cc/X1U1 如果說像這張圖,由左往右移動,第一個斜坡我本來是打算利用座標的方式 如果到了座標x某個點,就啟動某開關,讓我往右移動的時候人物增加的不只是x還有y 可是感覺這樣有點無腦,況且每個斜坡的坡度又不一樣 想請問各位如果要做橫向的設計,是如何判斷斜坡的? 謝謝 另外請問各位有推鍵的橫向設計的書籍嗎?沒有的話也沒關係,感謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 49.158.60.5 ※ 編輯: yoll522 來自: 49.158.60.5 (08/06 21:55)
KanoLoa:如果要做這功能,通常會用現成的引擎吧 ? 08/06 22:03
KanoLoa:自己刻要簡單就用暴力法存地形座標,再不然判斷色塊。 08/06 22:06
因為我們是用sdl自己寫的,所以沒有引擎@@
damody:請問原po用的是遊戲引擎,還是dx opengl硬幹? 08/06 22:08
我是用sdl自己寫的
damody:基本上你的坡會有個梯度變化量 你可以設定一個門檻值 08/06 22:09
沒聽過梯度@@等等google查查看,謝謝
damody:超過這個門檻值就可以往前 否則只能往後之類的 08/06 22:09
azureblaze:http://ppt.cc/xcvc 08/06 22:10
感謝提供的網址,我再來看看
damody:因為你會有這個坡的連續點 可以算出角色目前站的位置的梯度 08/06 22:10
littleshan:一般engine的解法就是地板是個collider 08/06 22:20
littleshan:你的人物會受到重力往下掉,直到碰到collider為止 08/06 22:20
littleshan:如果你是自己刻程式也建議這樣做 08/06 22:21
littleshan:因為2d platformer幾乎一定要用到collider 08/06 22:21
我本來也有這樣想過,就一直往下掉,直到掉到地板為止, 可是感覺這樣在爬坡的時候,斜坡事在身體的旁邊, 感覺沒辦法用往下掉的方式來爬上坡 還是是我的想法錯誤@@? ※ 編輯: yoll522 來自: 49.158.60.5 (08/06 22:28) ※ 編輯: yoll522 來自: 49.158.60.5 (08/06 22:31)
yoll522:因為個人英文不是很好,所以看網址的話要翻譯很久 08/06 22:42
yoll522:網址上的方法似乎也是把地圖變成很多個格子,用座標的 08/06 22:43
yoll522:方式來判斷前後左右該做的事情嚕? 08/06 22:43
azureblaze:差不多是那樣 08/06 23:01
azureblaze:另外你也可以用物理引擎來幫你處理碰撞 08/06 23:01
azureblaze:可是用物理控制角色會比較麻煩 08/06 23:01
yoll522:我有學過這種方法的碰撞,只是物體是四四方方的正方形 08/06 23:10
futfan:試試看讓角色貼著給的點或線移動,能作的話應該就能解決? 08/06 23:10
yoll522:所以我想說如果套用到高地不一的地板的話似乎也沒辦法 08/06 23:10
futfan:當然如果你要作出加速感的話,就需要三角函數。 08/06 23:12
yoll522:請問意思是說在地板上再多畫一條線,讓角色跟著線移動嗎 08/06 23:13
easy0519:高低不一地板判斷 你可以拿一張黑白圖來判定哪邊可以走 08/06 23:16
easy0519:以及哪邊不能走 08/06 23:16
easy0519:在斜坡判定..假設腳色位置在 (x, y) ,在 x 軸上想往 v 08/06 23:18
easy0519:方向走..可以去查那張黑白圖 (x + v, y) 判定是否能走 08/06 23:18
easy0519:If not, 檢查 (x+v, y+1) 到 (x+v, y+n) 區段是否可以走 08/06 23:19
easy0519:如果可以 (x+v, y+k) 可以走,直接設定腳色在這個位置 08/06 23:20
easy0519:其中 n 為你允許玩家最陡能走的坡度, y<k<=n 08/06 23:21
yoll522:原來如此,這方法感覺還不錯,我明天會來設計看看的 08/06 23:38
yoll522:謝謝你的詳細步驟唷,也謝謝其他人的幫忙 08/06 23:38