2016-09-17 4 views
0

최근에 게임을 개발 중입니다 (리 어셈블리와 같은 우주선 게임이어야 함). 내 상황 : - 체력이 0과 마찰이 2 인 시체가 두 개 있습니다. - 충돌 할 때 내 라인 어드 펌핑으로 인해 슬라이드가 느려지고 속도가 느려짐 -하지만 둘 중 하나가 회전 중일 때 (setangularvelocity로) 튀어 오릅니다. 매우 빠른 속도와 나는 그들이 심지어 열심히 왜곡하는 이유를 알아낼 수 없습니다.Box2d는 2 개의 몸체가 충돌하면서 충돌하는 경우에 발생합니다.

(그리고 난 그냥 아무 손해 배상이없는 경우에도 수신 거부 조금있을 것을 읽을 수 있지만 나는이 같은 기대하고 있지 않다) 여기

을 일부 코드 : 당신이해야 어쩌면

b2PolygonShape shape; 

    b2BodyDef def; 
    def.type = b2_dynamicBody; 

    b2FixtureDef fix; 
    fix.density = 1.f; 
    fix.restitution = .0f; 
    fix.friction = 0.f; 


    bbody = world->CreateBody(&def); 
    bbody2 = world->CreateBody(&def); 


    bbody->SetLinearDamping(2.0f); 
    bbody2->SetLinearDamping(2.0f); 

    // PIXELPERMETER is the scaling from pixels to meter. (30) 
    shape.SetAsBox(32/PIXELPERMETER/*=30*/, 32/PIXELPERMETER); 

    fix.shape = &shape; 
    bbody->CreateFixture(&fix); 
    bbody2->CreateFixture(&fix); 

    bbody2->SetTransform(b2Vec2(-100/PIXELPERMETER, 0), 0); 

답변

0

당신의 신체의 대량 데이터를 조정하려고합니까?

b2MassData massData; massData.mass = 50; //Just tweak me massData.I = 1; //Just never set me to 0 if you don't want to have nAn propagating massData.center = b2Vec2_zero; bbody->SetMassData(&massData);

+0

괜찮아요, 빨리 답변 드리겠습니다. 편집 : 예, 그것은 트릭을 했어! – Cobrapitz

관련 문제