2013-02-04 1 views
0

아래 코드를 사용하여 다각형 모양 스프라이트를 생성하려고합니다. 코드에 문제가 생겼습니다. 아무도 문제가있는 부분을 찾아 낼 수 있습니까?XCode 폴리곤 스프라이트 문제

b2BodyDef woodBodyDef; 
    woodBodyDef.position.Set(400/PTM_RATIO,100/PTM_RATIO); 
    woodBodyDef.type = b2_dynamicBody; 
    woodBodyDef.userData = _wood; 
    _body = _world->CreateBody(&woodBodyDef); 

    b2PolygonShape woodShape; 

    int num = 4; 
    b2Vec2 vertices[] = { 
    b2Vec2(-137.0f/PTM_RATIO,-32.5f/PTM_RATIO), 
    b2Vec2(-137.0f /PTM_RATIO,36.5f/PTM_RATIO), 
    b2Vec2(137.0f /PTM_RATIO,36.5f/PTM_RATIO), 
    b2Vec2(136.0f /PTM_RATIO, -32.5f/PTM_RATIO) 
    }; 
    woodShape.Set(vertices, num); 



    b2FixtureDef woodShapeDef; 
    woodShapeDef.shape = &woodShape; 
    woodShapeDef.density = 1.0f; 
    woodShapeDef.friction = 1.0f; 
    woodShapeDef.restitution = 0.5f; 
    woodBodyDef.userData = _wood; 
    _body = _world->CreateBody(&woodBodyDef); 
+0

발생하는 오류 (있는 경우)를 공유하거나 실행하면 어떤 오류가 발생합니까? 그것은 단지 아무것도하지 않습니까? 원하지 않는 것이 나타나나요? 이 문제가 정확히 어떻게되는지에 대한 정보를 좀 더 제공해 줄 수 있습니까? – Walls

+0

http://www.facebook.com/photo.php?fbid=608369395847146&set=a.198688853481871.58423.100000222736877&type=1&theater 이걸 실행하면 문제가 있습니다. –

+0

@AlexSmith That는 box2d 코드입니다. 또한 그것은 b2Assert (영역> b2_epsilon)라고 말합니다; – Sebastian

답변

0

내 생각에 꼭지점의 순서가 중요합니다. 그것들을 시계 방향으로 정의하면, Box2D는 그것들을 시계 반대 방향으로 기대할 수 있습니다. 확인하기 쉽습니다. 그래서 시도해보고 어설 션이 수정되었는지 확인하십시오 (btw는 다각형 영역이 < = 0이라고 말합니다).

+0

많은 의견을 보내 주셔서 감사 드리며, 오늘 감사합니다. 감사합니다. :) –