2016-03-25 75 views
-3

My game board吃豆人(碰撞)

你好,最近我開始處理Canvas的對象,使遊戲系列雅達利的。我有一個關於如何使用方法的問題,或者Canvas對象最好做到讓我的角色停止觸摸牆壁並在特定軌道上移動?我想,如條件:

if (pozX > 180 && pozX < 190) { 
    pozX = 185 
    } 

回答

3

而不是做碰撞測試......

地圖超出了允許的路徑,爲您的遊戲角色

例如,這裏是你的遊戲板的一部分。

enter image description here

這裏是可接受路徑中的對應的地圖。 「1」表示允許的移動,而「0」表示不允許的移動(遊戲牆)。 編輯:哎唷!我把右下角的地圖弄亂了 - 赦免!

enter image description here

現在,你可以參考你的移動接受地圖時玩家按下方向鍵來移動。

例如,如果玩家從左上角開始(他們從「藍色1」開始)。他們可以正確地移動,因爲這些移動映射到「1」。但他們無法向上或向左移動,因爲這些移動映射到「0」。

+0

雖然有趣,你的做法不會允許順利移動。但也許O.P.想要做一個回合制吃豆人! ;-) – GameAlchemist

+0

@GameAlchemist。不夠公平......但我認爲提問者只是開始學習html5畫布,所以我提出了一個讓他們開始的基本方法。 ;-)但是,如果你想要平滑移動,你當然可以使用線性插值來將它們從起點移動到目標地圖點。你可以使用trasformations在適當的方向上旋轉你的pacman的嘴。一步一步來...! – markE

+1

謝謝你給我的提示:)我做了一個二維數組:tab [x] [y]和值的條件。 – Monitxx