2013-06-26 96 views
1

我是新來的世界libgdx和遊戲編程的世界一般。我想創建一個遊戲,但不是任何遊戲。我製作了一些基本遊戲,如休息時間乒乓球。但我仍然無法走得更遠,但我總是碰到問題,尤其是在實體之間!我想創建一個像sonic斜坡的遊戲。碰撞檢測,在libgdx

+0

一些閱讀:http://www.a-coding.com/2010/10/predictive-collision-detection.html http://www.vobarian.com/collisions/ – Patashu

+0

另外,如果您向下滾動並查看在相關問題的右側,我看到很多關於碰撞檢測的問題。嘗試閱讀他們? – Patashu

回答

3

U可以通過LibGdx

4

使用OverlapTester在超級彈跳項目某一類你知道如何創建矩形。我假設你知道矩形。 如果您要檢查兩個矩形,你可以做的碰撞如下:

Rectangle a = new Rectangle(), b = new Rectangle(); 
在構造函數中設置矩形的

a.setRectangle(yourX, yourY, yourWidth, yourHeight); 
b.setRectangle(yourX, yourY, yourWidth, yourHeight); 

渲染檢查碰撞這樣

if(a.overlaps(b)) 
{ 
    //do your work 
} 
+0

首先,感謝您的回答,是的,我知道矩形,但在我看來,它們對於地圖衝突以及libgdx提供的TiledMap類中的特殊功能毫無用處,而且我不認爲我可以將它們用於斜坡,再次感謝你 !! –

+0

在瓷磚地圖中的碰撞,你可以參考這個鏈接http://www.creatiosoft.com/how-to-detect-collision-in-tilemap –

+0

希望這將工作! –

3

創建你的邊界使用Libgdx中的矩形類並使用Intersector類進行測試。

這個類有許多功能來測試重疊的矩形,圓形等。

+0

非常感謝你,我已經閱讀了原型,我發現它非常有用,我將谷歌它學習更多,但請,讓我問你一個問題,我可以使用它的地圖相撞??,如果是的,那麼如何,並再次感謝你:) –

+0

@Vikalp Jain如果我的精靈不是矩形,我會怎麼做碰撞? – guiomie

5

爲什麼不使用的Box2D(libGDX擴展)?這對平臺遊戲來說非常完美。

+0

這是一個很好的建議。雖然它並不總是合適的,但對於那些不願意「推出自己的」碰撞檢測的人來說,Box2D通常是一個很好的解決方案。 – fr1tz

0

如果您瞭解基礎知識,我建議您使用box2d。 如果你知道如何使用矩形,精靈批量,相機等,那麼你應該繼續Box2d,如果你不只是採取一些很好的教程,並嘗試使應用程序沒有任何extension.this將使你的概念清晰,你將很容易掌握遊戲背後的邏輯。