나는 낙서 점프를하고 싶다. 나는 플레이어와 플랫폼을위한 2 개의 본문을 만들지 만, 플랫폼 바디에서 튀는 대신, 플레이어는 몸의 Y 좌표에서 모든 라인을 뛰어 넘을 수있다. 이유를 모르겠다.AndEngine Box2D - 직사각형 바디를 선으로 변환 하시겠습니까?
private void creerPlateformes(int n)
{
int pX[] = new int[n];
int pY[] = new int[n];
pX[0] = CAMERA_WIDTH/ 2-60;
pY[0] = 780;
for (int i=0;i<n;i++)
{
if (i!=0)
{
final Random r = new Random();
pX[i] = r.nextInt(464-16)+16;
pY[i] = pY[i-1]-r.nextInt(200-100)+100;
}
plateforme[i] = new Sprite(pX[i], pY[i], mPlateformeTextureRegion, getVertexBufferObjectManager());
plateforme[i].setScale(1);
plateforme[i].setUserData("plateforme");
final FixtureDef PLATEFORME_FIX = PhysicsFactory.createFixtureDef(0.0f, 0.0f, 0.0f);
plateformeBody[i] = PhysicsFactory.createBoxBody(physicsWorld, plateforme[i], BodyType.StaticBody, PLATEFORME_FIX);
plateformeBody[i].setUserData("plateforme");
scene.attachChild(plateforme[i]);
}
}
더 많은 코드가 필요하면 알려주세요.하지만 문제가 있다고 생각됩니다. 당신이 코멘트에 말했듯
무슨 일이 일어나는지 이해하는 데 어려움이 있습니다. 플랫폼이없는 영역에서 플레이어가 튀는가? Y 위치는 정확하지만 X 위치는 정확하지 않습니다. 그게 문제 야? –
예, 정확하게, 나는 왜 그런지 모르겠습니다 ... –
이것은 단지 추측이지만 Sprite "plateforme [i]"에는 투명한 픽셀이 포함되어 있습니까? 박스 2D에 사용 된 도형의 바운딩 박스는 스프라이트 바운딩 박스와 동일합니다. –