0
box2d
과 cocos2d를 사용하면, 어떤 몸체가 공에 의해 "통과 가능"할 수있는 라인 또는 전체 (코딩 된 벡터로 이루어짐) 인 b2body
모델을 생성해야합니다. , 볼이 높은 속도로 그를 때릴 때.box2d에서 깨지는 벽
즉, 현실 세계와 마찬가지로 재질이 부드러워서 부러 질 수 있습니다.
밀도가 0이 아닙니다. 다른 방법이 있습니까?
감사합니다.
box2d
과 cocos2d를 사용하면, 어떤 몸체가 공에 의해 "통과 가능"할 수있는 라인 또는 전체 (코딩 된 벡터로 이루어짐) 인 b2body
모델을 생성해야합니다. , 볼이 높은 속도로 그를 때릴 때.box2d에서 깨지는 벽
즉, 현실 세계와 마찬가지로 재질이 부드러워서 부러 질 수 있습니다.
밀도가 0이 아닙니다. 다른 방법이 있습니까?
감사합니다.
왜 하나를 만드십시오 ????? 충돌로 인해 떨어질 벽돌 (작은 입자)을 사용하여 벽을 만드십시오. .....
이 기능을 사용하는 또 다른 방법은 contactListener의 presolve를 사용하는 것입니다. 두 몸체 사이의 충돌을 확인하고 if 그 개체를 골절 한 하나의 속도는 부서지기 쉬운 것들로
`enter code here`if ((userDataObjectA.userDataType == kObjectTypeMotherShip || userDataObjectB.userDataType == kObjectTypeMotherShip) && (userDataObjectA.userDataType == kObjectTypeSaucer || userDataObjectB.userDataType == kObjectTypeSaucer)) {
b2WorldManifold worldManifold;
contact->GetWorldManifold(&worldManifold);
if (userDataObjectA.userDataType == kObjectTypeSaucer) {
b2Vec2 saucerVelocity = bodyA->GetLinearVelocity();
if (saucerVelocity.y > 2) {
contact->SetEnabled(false);
}
} else if (userDataObjectB.userDataType == kObjectTypeSaucer) {
b2Vec2 saucerVelocity = bodyB->GetLinearVelocity();
if (saucerVelocity.y > 2) {
contact->SetEnabled(false);
}
}
}
대부분의 게임의 오늘 .....
내 게임 중 하나에서이 코드를 가지고 ... 비활성화 특정 값 세트 접촉보다는 강판이다 그들은 파열 될 수 있고 파멸을위한 다른 방법도 있습니다. 당신이 말하는 부분 벽과 같은 부분 벽의 경우, 조각으로 조각을 만들 필요가 있습니다. 스프라이트를 자르고 해당 부분에 다각형 충돌 영역을 만드십시오. – MahanGM