我是新來的網站,並決定創建一個帳戶,因爲我有問題在2D環境中掌握碰撞的概念。與2D雪碧物體碰撞和數學涉及
我擁有的是從上到下的角度設置的一組道具,我試圖設置與它們碰撞的規則,這樣如果玩家走出了道路,他會得到一個遊戲結束。
到目前爲止,我有在原地直路,你可以看到在這裏設置規則:
if ((*it)->getType() == ST_RoadStraight)
{
Road* road = (Road*)*it;
// Check to see if the road sprite is within 16 pixels of the bucket either way
int dx = road->getPosition().x - Pos.x;
if (dx < 0) dx = -dx;
if (dx > 200)
{
outOfBounds = true;
}
}
基本上,我說,如果玩家進入一定的距離在x軸上,這兩種方式將結束遊戲。對於直行的道路來說,這很好,因爲我可以將我更改爲y軸,但我也有彎曲的道路。這裏的資產是什麼樣的一個想法:
直:http://i.imgur.com/bNHYwZO.png
曲:http://i.imgur.com/ppPw7ED.png
基本上,我需要的玩家可以去的道路或者跨越它允許的,但如果他撞到了他要下馬路的地方,我需要這麼說。在直道上這很容易,但是根據球員在彎道上的位置,在Y上的高度爲30像素可能在道路的某個部分是可以的,但是在另一個部分不會好。
從本質上講,我正在尋找某種公式,將允許這是精確地表示了我的比賽。
任何幫助,將不勝感激。
我目前正在使用Marmalade SDK編寫此遊戲,以使其可用於iPhone和Android設備。 我覺得這是用於xcode/objective-c編程。然而,提供我正在尋找的那種碰撞的套件將不勝感激,如果這對我仍然有用,我可能會研究它。 – user2829016
我覺得我應該在Windows上的Visual Studio中也提到這一點。 – user2829016
SpriteKit是Box2D的一個端口,所以如果你可以找到Box2D的另一個與橘子醬一起使用的端口,那麼它應該和Sprite Kit一樣好。 Cocos 2D是Box2D的另一個端口,但我認爲這也僅限於iOS。你可以在這裏訪問Box2D網站:http://box2d.org – WolfLink