2011-08-27 305 views
0

如果你看我的比賽的這個鏈接:碰撞?

http://www.youtube.com/watch?v=HMWl8D_OwyM

如果你看這個,你會看到的字符可以在任何地方行走。我想添加一些衝突,所以他只能例如行走在道路上..有沒有一些可能的方式來做到這一點,而沒有形成一個碰撞.txt文件加載到一個數組?

或者我會如何解決這個最好的方法? (級別從圖片加載)

+0

嗨。請不要使用特定於語言的標記(即C++),除非您的問題與該特定語言特別相關...... –

回答

2

如果級別是紋理,則可以對紋理進行採樣以允許角色僅在特定曲面上行走;或者您可以創建一個單獨加載並僅用於碰撞檢測的衝突掩碼。

你如何實現這是你自己決定的;它可能是最簡單的(也是最有效的),只需定義一個替代數據結構來包含所有碰撞對象的邊界框。

編輯:

逆可能是更容易的方法;而不是定義你的對象,定義可用於角色的路徑。這會嚴重限制自由漫遊的能力,但對你的例子來說可能是理想的。

EDIT2:

這些都不是容易的解決辦法:它可能是更好地爲您重新的因素你的水平的數據;不要只使用BITMAP,也許應該看一下簡單的基於磁貼的解決方案。

這將允許更容易區分表面,紋理和對象;並因此進行碰撞檢測。

+0

我將如何使某些表面上只有行走?你可以解釋一下這將如何工作? – Rakso

+0

@TheCompBoy,我更新了我的答案;也許它可能有幫助。 – dcousens

+0

非常感謝你! – Rakso