내 게임 장면은 정적 몸체 인 벽 4 개와 운동 학적 유형이며 수평으로 만 움직이는 플랫폼 플레이트 1 개로 구성되어 있습니다 (아래 그림 참조).기구학 물리 기관이 정적 인 신체를 통과하지 못하도록하는 방법은 무엇입니까?
플랫폼 신체 움직임은 가속 센서에 기초하여,이 코드
@Override
public void onAccelerationChanged(AccelerationData pAccelerationData) {
mPlatformBody.setLinearVelocity(pAccelerationData.getX() * 10, 0);
}
플랫폼되는 말아야 경계 벽 꺼지면 내 문제 참조. 이 문제를 해결하기 위해 일단 경계를 벗어나려고하면 속도를 0으로 설정했습니다. 이 코드 위의 코드와
Rectangle rect = new Rectangle(camWidth/2 - 40, camHeight/2 - 5,
80, 10, mEngine.getVertexBufferObjectManager()) {
@Override
protected void onManagedUpdate(float pSecondsElapsed) {
if (this.getX() <= 1) {
mPlatformBody.setLinearVelocity(0, 0);
}
if ((this.getX() + 80 >= camWidth - 1)) {
mPlatformBody.setLinearVelocity(0, 0);
}
super.onManagedUpdate(pSecondsElapsed);
}
};
, 여전히 수는 화면 밖으로 이동이 플랫폼을 참조하십시오.
누구든지이 문제를 어떻게 극복 할 수 있습니까?
, 당신은 다시 속도를 0으로 설정합니다. 그것은 느려질 것이지만 여전히 움직일 것입니다. – LearnCocos2D
@ LearnCocos2D 어떻게 자세를 재설정 할 수 있습니까? 내가 아는 한 최대로 box2d는 몸체를 수동으로 배치 할 수있는 방법을 제공하지 않습니다. –
b2Body의 SetTransform 기능을 사용하여 본문의 위치를 설정할 수 있습니다. – iforce2d