发现了很多类似的问题,但没有一个能回答我自己的问题。这可能是一件非常简单的事情,但为时已晚,我无法理解。我有一个我正在开发的安卓游戏,你触摸屏幕,它会朝那个方向“发射”一个精灵。我已经让大部分代码工作了,但是,在精灵触发并离开后,它会到达接触点,然后只是摆动。我希望它沿着那个角度继续前进并最终反弹......
这是我的代码(以及重要的位):
List<TouchEvent> touchEvents = game.getInput().getTouchEvents();
int len = touchEvents.size();
for(int i = 0; i < len; i++) {
TouchEvent event = touchEvents.get(i);
if(event.type == TouchEvent.TOUCH_UP) {
touchPoint.set(event.x, event.y);
guiCam.touchToWorld(touchPoint);
}
}
//Log.d("PANDAM", touchPoint.x + "|" + touchPoint.y);
float speed = 112f;
double theta = 180.0 / Math.PI * Math.atan2(panda_y - touchPoint.y, panda_x - touchPoint.x);
Log.d("PANDAM", " > "+theta+" < ");
movePanda(theta, speed, deltaTime);
而“movePanda”方法:
private void movePanda(double angle, float speed, float deltaTime)
{
panda_x += speed * Math.cos(angle)*deltaTime;
panda_y += speed * Math.sin(angle)*deltaTime;
}
我的问题是,如何让熊猫沿着触摸矢量继续前进,而不是在到达原始触摸点时飞出?