现在,我在游戏中的所有内容都是从屏幕左侧移动到右侧的精灵。我试图在触摸屏幕时跳转,所以我添加了这个类:
import android.app.Activity;
import android.view.MotionEvent;
public class TouchScreen extends Activity {
private Player p;
public boolean onTouchEvent(MotionEvent e) {
int i = e.getAction();
switch (i) {
case MotionEvent.ACTION_DOWN:
// When your finger touches the screen
p.jump();
break;
case MotionEvent.ACTION_UP:
// When your finger stop touching the screen
break;
case MotionEvent.ACTION_MOVE:
// When your finger moves around the screen
break;
}
return false;
}
}
现在我试图在Player.update()
中调用此方法(Player是精灵的类),但我不知道要传递给onTouchEvent()
的内容。我基本上想要“如果屏幕被点击让玩家跳跃”(通过调用Player.jump()
),任何想法?
答案 0 :(得分:0)
您需要指定onTouchEvent
覆盖Activity
中的原始方法。您还应该在最后调用super.onTouchEvent(e);
,因为您要覆盖的方法可能需要执行。
@Overrides
public boolean onTouchEvent(MotionEvent e) {
int i = e.getAction();
switch (i) {
case MotionEvent.ACTION_DOWN:
// When your finger touches the screen
p.jump();
break;
case MotionEvent.ACTION_UP:
// When your finger stop touching the screen
break;
case MotionEvent.ACTION_MOVE:
// When your finger moves around the screen
break;
}
return super.onTouchEvent(e);
}
您没有明确调用onTouchEvent
,系统应在触摸活动时调用此项。您已将p.jump();
放在正确的位置了!