2010-12-05 34 views
3

Je ne peux pas créer un b2PolygonShape avec des sommets dans mon projet Box2D Cocos2D. Je n'obtiens aucune erreur mais rien ne se montre à l'écran.Comment créer un corps statique avec les sommets b2PolygonShape

Comment obtenir un corps statique avec des sommets b2PolygonShape pour fonctionner?

Je voudrais l'utiliser avec une liste établie comme ceci:

b2Vec2 verts[] = { 
     b2Vec2(-194.5f/PTM_RATIO, 83.0f/PTM_RATIO), 
     b2Vec2(-118.5f/PTM_RATIO, 65.0f/PTM_RATIO), 
     b2Vec2(-77.5f/PTM_RATIO, 2.0f/PTM_RATIO), 
     b2Vec2(3.5f/PTM_RATIO, -59.0f/PTM_RATIO), 
     b2Vec2(62.5f/PTM_RATIO, -61.0f/PTM_RATIO), 
     b2Vec2(108.5f/PTM_RATIO, -63.0f/PTM_RATIO), 
     b2Vec2(138.5f/PTM_RATIO, -41.0f/PTM_RATIO), 
     b2Vec2(169.5f/PTM_RATIO, 11.0f/PTM_RATIO), 
     b2Vec2(184.5f/PTM_RATIO, 49.0f/PTM_RATIO), 
     b2Vec2(218.5f/PTM_RATIO, 51.0f/PTM_RATIO), 
     b2Vec2(219.5f/PTM_RATIO, -89.0f/PTM_RATIO), 
     b2Vec2(-174.5f/PTM_RATIO, -88.0f/PTM_RATIO) 
}; 

Répondre

5

L'étape suivante consistera en spécifiant les sommets en forme à

 
    b2PolygonShape shape; 
     int num = 4; 
     b2Vec2 vertices[] = { 
        b2Vec2(10.5f/PTM_RATIO, 10.6f/PTM_RATIO), 
        b2Vec2(11.8f/PTM_RATIO, 18.1f/PTM_RATIO), 
        b2Vec2(-11.9f/PTM_RATIO, 18.3f/PTM_RATIO), 
        b2Vec2(-10.5f/PTM_RATIO, 10.8f/PTM_RATIO) 
       }; 
     shape.Set(vertices, num);

b2FixtureDef fixtureDef; fixtureDef.shape = &shape;