나는 정말로 이것에 붙어있어 성공적으로 충돌을 감지 할 수 있지만 충돌에 관련된 두 몸체를 고수 할 수는 없습니다. 여기충돌 후 두 개의 시체를 만드는 법?
또한 이것이 내가 바로 world.step() 라인
int numContacts = world.getContactCount();
if(numContacts > 0)
{
Gdx.app.log("contact", "start of contact list");
for(Contact contact: world.getContactList())
{
Fixture fixtureA = contact.getFixtureA();
Fixture fixtureB = contact.getFixtureB();
Gdx.app.log("contact", "between" + fixtureA.toString() + "and" + fixtureB.toString());
}
Gdx.app.log("contact", "end of contact list");
}
내가 무엇에 매우 붙어 후) (내 렌더링에 넣어 것입니다 내 ContactListener
world.setContactListener(listener);
listener = new ContactListener() {
@Override
public void preSolve(Contact contact, Manifold oldManifold) {
}
@Override
public void postSolve(Contact contact, ContactImpulse impulse) {
}
//called when two fixtures cease to touch
@Override
public void endContact(Contact contact) {
Fixture fixtureA = contact.getFixtureA();
Fixture fixtureB = contact.getFixtureB();
Gdx.app.log("beginContact", "between" + fixtureA.toString() + "and" + fixtureB.toString());
}
//called when two fixtures begin to touch
@Override
public void beginContact(Contact contact) {
Fixture fixtureA = contact.getFixtureA();
Fixture fixtureB = contact.getFixtureB();
Gdx.app.log("beginContact", "between" + fixtureA.toString() + "and" + fixtureB.toString());
}
};
입니다 게시물을 해결하거나 사전에 정말 혼란을 풀다. iforce2d sticky projectiles http://www.iforce2d.net/b2dtut/sticky-projectiles을 따라 갔지만 C++을 이해하지 못하고 Eclipse에서 작업 할 때 많은 구문 오류가 발생합니다. 제발 누군가가 제발 자바에서 충돌 후 시체가 함께 막대기 작업 충돌의 예제 코드를 보여줄 수 있습니다.
WeldJointDef wd = new WeldJointDef();
wd.bodyA = body1;
wd.bodyB = body2;
wd.referenceAngle = wd.bodyB.getAngle() - wd.bodyA.getAngle();
world.createJoint(wd);
가 ContactListener 내부 커넥터를 만들려고하지 마십시오
당신은 내가 일주일 이상을 위해 노력했습니다이 나를 도울 수있는 내가 아무 여전히 해요 근처에, 나는 weldjoint을 할 호 알고하지만 난 당신이 무슨 뜻인지 모르겠어요 붙이려는 바디를 목록에 추가하고 확인하십시오. – user3197976
내 대답 @ user3197976 – Lestat
편집 해 주셔서 감사합니다. 지금이 문제를 조금이라도 더 잘 이해하고 문제가 생기면 알려주지 만 감사드립니다. – user3197976