내가 아는 한 b2BoundaryListener는 이전 버전의 Box2D의 일부 였고 Box2D 세계에는 더 이상 경계가 없으므로 제거되었습니다.
동적 센서는 기구학 체를 감지 할 수 있으므로 사용할 수 있습니다. 세계가 중력을 사용한다면 몸을 고쳐야합니다.
중력에 반하는 힘을가하거나 조인트 (예 : 용접 조인트)로 정적 몸체에 고정시킬 수 있습니다.
최근 Box2D의 자바 스크립트 포트는 또한 중력에 의해 영향을받지되는 동적 몸을 만들 수 있도록 할 setGravityScale 방법을 포함한다 (예를 들면 JSBox2D)
하지만 업데이트에서 수동으로이 일을 생각은 아마 더 나은 생각하고해야 b2AABB 클래스를 사용하면 꽤 간단합니다. 경계 상자가 범위를 벗어나면 객체가 제거됩니다.
는 다음 (테스트되지 않은 코드) 뭔가를 할 수 : 또한 b2AABB.Contains를 확인해야 할 수도 있습니다
var body = world.GetBodyList();
while (body != null) {
var fixture = body.GetFixtureList();
var bodyIsInBounds = false;
while (fixture != null) {
// bounds AABB are your boundaries (as b2AABB object)
if (fixture.GetAABB().TestOverlap(boundsAABB)) {
bodyIsInBounds = true;
break;
}
fixture = fixture.GetNext();
}
if (!bodyIsInBounds) {
world.DestroyBody(body);
}
body = body.GetNext();
}
. boundsAABB에 다른 b2AABB 객체가 완전히 포함되어 있으면 TestOverlap이 true를 반환하는지 여부는 확실하지 않습니다.