在AndEngine遊戲中,我想拋出一個球物理體。用戶設置其角度並強制拋出它。它的情況與我們在「憤怒的小鳥」中看到的情況相同。我已經計算了力和角度,但是我很困惑如何同時應用兩個球,這意味着球應該以計算出的角度投擲,但是需要特別的力量。任何人都可以引導我走向正確的方向嗎?andengine用力和特定角度拋球
這裏是我的代碼片段:
@Override
public boolean onAreaTouched(TouchEvent event,ITouchArea pTouchArea, float x, float y) {
// TODO Auto-generated method stub
if(event.isActionDown()) {
......
}
else if(event.isActionMove()) {
......
}
else if(event.isActionCancel() || event.isActionOutside() || event.isActionUp()) {
.....
launchHero(hero, string1.getX1()/PIXEL_TO_METER_RATIO_DEFAULT, string1.getY1()/PIXEL_TO_METER_RATIO_DEFAULT, x/PIXEL_TO_METER_RATIO_DEFAULT, y/PIXEL_TO_METER_RATIO_DEFAULT);
}
public void launchHero(Hero hero, float originX, float originY, float fingerX, float fingerY) {
Vector2 shoot = new Vector2((originX - fingerX), -(originY - fingerY));
shoot = shoot.nor().mul(10);
hero.getBody().setLinearVelocity(shoot);
}
}
return false;
}
我已經加入負(originY - fingerY),因爲如果我不這樣做,球先下降再與基地相撞後,其上升。
我試過這個。但即使用戶希望它向下移動,球也會向上移動。 –
請給我一個樣本,說明你給originX,originY,fingerX,fingerY提供了什麼值。我使用這個代碼,它適用於我。 – JohnEye
originX = 4.78125,originY = 9.4375,fingerX = 0.625,fingerY = 0.625 –