我已经尝试了很多来找到在屏幕上平滑移动动态物体的解决方案。鼠标关节对我不起作用,它具有对平滑运动无用的橡皮筋效果。我也尝试过应用线速度来使球移动,但不能这样做。有哪些选项可以在身体上进行简单的触摸运动?例如,类似于 Glow Hockey?
答案不必特定于 AndEngine。Cocos2d 也适用于我。
我已经注册了触摸监听器,并尝试使用以下方法在“移动”动作上移动身体:
public boolean onAreaTouched(final TouchEvent pSceneTouchEvent, final ITouchArea pTouchArea, final float pTouchAreaLocalX, final float pTouchAreaLocalY) {
switch(pSceneTouchEvent.getAction()){
case TouchEvent.ACTION_DOWN:
break;
case TouchEvent.ACTION_MOVE:
strikerBody.setLinearVelocity((pSceneTouchEvent.getX()-strikerBody.getPosition().x * PIXEL_TO_METER_RATIO_DEFAULT),(pSceneTouchEvent.getY()-strikerBody.getPosition().y * PIXEL_TO_METER_RATIO_DEFAULT));
break;
case TouchEvent.ACTION_UP:
break;
default:
break;
}}
身体确实会朝着正确的方向移动,但如果手指移动得快一点,它就会远离手指,因为速度的幅度会增加。