第1部分有没有人知道如何创建一个球,当你拖动它然后松开它会与物理一起向同一个方向投掷?我已经将球作为精灵创造了所有东西并将其变成了物理对象。只需要知道如何做到这一点。我正在考虑使用ontouch运动事件和东西,但我认为只会让球移动到我的手指所在的地方,然后放下我没有任何速度释放的地方。
我不是在谈论愤怒的小鸟式吊带,我说的是触摸球然后用手指轻扫,然后球的方向与滑动方向相同。
第2部分 我做了一些研究,发现通过滑动使物理对象移动是必要的,使用鼠标关节。到目前为止,我已经完成了所有工作,但我现在只有一个小问题。基本上我的游戏就是现在,如果我点击场景中的任何地方,球会以物理方式使用此代码向它移动:
@Override
public boolean onSceneTouchEvent(Scene pScene, TouchEvent pSceneTouchEvent) {
if (pSceneTouchEvent.isActionDown()) {
mouseJointDef.target.set(ball1Body.getWorldCenter());
mouseJoint = (MouseJoint) mPhysicsWorld.createJoint(mouseJointDef);
final Vector2 vec = Vector2Pool.obtain(pSceneTouchEvent.getX()
/ PhysicsConstants.PIXEL_TO_METER_RATIO_DEFAULT,
pSceneTouchEvent.getY()
/ PhysicsConstants.PIXEL_TO_METER_RATIO_DEFAULT);
mouseJoint.setTarget(vec);
Vector2Pool.recycle(vec);
} else if (pSceneTouchEvent.isActionMove()) {
final Vector2 vec = Vector2Pool.obtain(pSceneTouchEvent.getX()
/ PhysicsConstants.PIXEL_TO_METER_RATIO_DEFAULT,
pSceneTouchEvent.getY()
/ PhysicsConstants.PIXEL_TO_METER_RATIO_DEFAULT);
mouseJoint.setTarget(vec);
Vector2Pool.recycle(vec);
return true;
} else if (pSceneTouchEvent.isActionCancel()
|| pSceneTouchEvent.isActionOutside()
|| pSceneTouchEvent.isActionUp()) {
mPhysicsWorld.destroyJoint(mouseJoint);
}
return true;
}
我将如何改变这一点,以便在刷球时它将朝着滑动的方向移动,而不是点击场景。
谢谢