2013-03-02 59 views
1

我想創建一個獨特的物理體用於精靈。這個精靈將需要有兩部分存在碰撞表面和開放空間。AndEngine Box2D中的獨特實體

實施例:

Sprite Example

在上面提供的示例中,子畫面就需要有一個物理box2d的主體,其中所述兩個綠色空間需要物理和棕色中間將需要「空」或沒有物理屬性。這是可能的還是我需要創建兩個精靈?

回答

0

是的,它可能。您需要爲每個綠色部分創建一個主體和兩個固定裝置。

b2BodyDef myBodyDef; 
myBodyDef.type = b2_dynamicBody; 
b2Body* dynamicBody = m_world->CreateBody(&myBodyDef); 

b2PolygonShape polygonShape; 
b2FixtureDef myFixtureDef; 
myFixtureDef.shape = &polygonShape; 

// Left green rectangle 
b2Vec2 vertices[4]; 
vertices[0].Set(0, 0); 
vertices[1].Set(1, 0); 
vertices[2].Set(1, 0.5); 
vertices[3].Set(0, 0.5); 
polygonShape.Set(vertices, 4); 
dynamicBody->CreateFixture(&myFixtureDef); 

// Right green rectangle 
b2Vec2 vertices[4]; 
vertices[0].Set(5, 0); 
vertices[1].Set(6, 0); 
vertices[2].Set(6, 0.5); 
vertices[3].Set(5, 0.5); 
polygonShape.Set(vertices, 4); 
dynamicBody->CreateFixture(&myFixtureDef);