我想做一個嘟嘟跳,就像我爲球員和平臺創建兩個身體一樣,但不是在平臺身體上彈跳,玩家可以跳到身體的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位置不正確。這是問題嗎? –
是的,我真的不知道爲什麼.. –
這只是一個猜測,但雪碧「plateforme [i]」是否包含透明像素?框2D使用的形狀的邊界框將與Sprite邊界框相同。 –