2014-03-19 136 views
0

我在舞臺上很多靜態物體 - 障礙物。我將它們添加如下:box2d很多靜態物體

b2BodyDef groundBodyDef; 
        groundBodyDef.position.Set(i/PTM_RATIO, j/PTM_RATIO); 

        b2Body *groundBody = world->CreateBody(&groundBodyDef); 
        b2PolygonShape groundEdge; 
        b2FixtureDef boxShapeDef; 
        boxShapeDef.shape = &groundEdge; 

        groundEdge.SetAsBox(64/PTM_RATIO, 64/PTM_RATIO); 
        groundBody->CreateFixture(&boxShapeDef); 

而且事實證明,2000年和最終圍繞這些對象開始應用慢下來.. 我如何添加一個簡單的方形女朋友靜態對象只是針對體育館?

+0

您應該使用b2EdgeChain形狀來創建您的世界的輪廓。只使用一個機身但具有多種形狀(固定裝置)也可能有助於提高性能。 – LearnCocos2D

+0

所以......有點不明白。在這裏,我需要在(20,20)和結束點(40.40)以及原點在(100,100)和結束點(120,120)處創建一個正方形。我該怎麼做?而且會有很多正方形 – user3272013

回答

0

您應該刪除或重用離開屏幕的物體。例如,在側面滾動遊戲中,當障礙物離開屏幕邊緣時很可能不會返回,因此可以將其移除(因此box2d在檢查碰撞時不會考慮它),並且你也贏了;不得不在你的方法中考慮它們)或者重新使用它們 - 你可以改變這個身體的位置,這樣它就會再次在右邊。

無論哪種方式,你都不應該創造出很多的身體,因爲這是一種確實和快速的方式來降低你的表現。

+0

但是,如果所有這些機構總是需要我,不管他們是否在屏幕的某個區域,我該怎麼辦。 我需要這些身體只是爲了限制運動可能有不同的方法,如添加靜態身體? – user3272013

+0

你可以用更多的細節來編輯你的原始問題,最好是你想要達到什麼樣的草圖,爲什麼你需要這麼多的身體? – Losiowaty