Как добавить пользовательское тело - PullRequest
1 голос
/ 16 января 2012

Я новичок в BOX2D, и я обнаружил, что не знаю, как СОЗДАТЬ созданное пользователем тело из определенного спрайта. Все фигуры box2d имеют многоугольную форму: (

Ниже я просто хочу использовать определенную форму из определенного спрайта, спасибо за вашу помощь заранее.

PhysicsSprite *rightSprite =  [PhysicsSprite spriteWithFile:@"mySpecificShape.png"];
[self addChild:rightSprite];

b2BodyDef bodyDef;
bodyDef.type = b2_staticBody;
bodyDef.position = b2Vec2(400/PTM_RATIO, 512/PTM_RATIO);

b2Body * bodyA = world->CreateBody(&bodyDef);
bodyA->SetUserData(rightSprite);
[rightSprite setPhysicsBody:bodyA];

Ответы [ 2 ]

0 голосов
/ 21 июня 2014

Вы можете сделать это внешним инструментом. Есть несколько инструментов, о которых вы можете прочитать:

Vertex Helper и физический редактор.

Я рекомендую по редактору физики в этом инструменте вы загружаете ваше изображение и экспортируете его в XML-форму, затем вы можете загрузить его в используемом вами движке, и оно будет сталкиваться с правильным, почему

Вы можете прочитать больше и скачать его здесь:

http://www.codeandweb.com/physicseditor/feature

0 голосов
/ 19 января 2012

Нет простого способа сделать это.Вы должны построить свое тело из простых форм: многоугольник, круг, край.

...