【发布时间】:2012-01-12 05:11:59
【问题描述】:
我在 AndEngine 中使用这个方法来确定用户正在触摸的场景。
@Override
public boolean onSceneTouchEvent(Scene pScene, TouchEvent pSceneTouchEvent) {
if(pSceneTouchEvent.isActionDown()) {
Log.e("Arcade", "Scene Tapped");
//Simulate player jumping
}
return false;
}
我想做的是当场景被点击时,我想让玩家跳跃。
现在有两件事,考虑到它是横向模式,使用 PathModifier 或 MoveYModifier 会更好吗? 如果有,请提供一个这样的例子。 谢谢
编辑:
我设法使用物理来模拟跳跃。
@Override
public boolean onSceneTouchEvent(Scene pScene, TouchEvent pSceneTouchEvent) {
if(pSceneTouchEvent.isActionDown()) {
Log.e("Arcade", "Scene Tapped");
final Vector2 velocity = Vector2Pool.obtain(mPhysicsWorld.getGravity().x * -0.5f,mPhysicsWorld.getGravity().y * -0.5f);
body.setLinearVelocity(velocity);
Vector2Pool.recycle(velocity);
return true;
}
return false;
}
正如您在答案中所说,通过改变重力。唯一的问题是,当用户不断触摸屏幕时,精灵会不断上升和上升。我该如何设置用户只能点击一次并且不能让他再次跳跃,直到精灵撞到地面,这是一个矩形?
【问题讨论】:
-
我有同样的问题,我使用路径创建了自定义形状并在画布上绘制,当我试图通过从左上角拖动来调整形状时,该参数被更改为仅从形状的左上角?