在 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) 中添加了负数,因为如果我不这样做,球首先会下降,然后在与底座碰撞后会上升。