我剛剛開始在Android中開發,我正在嘗試做一個非常基礎的遊戲,你必須沿着屏幕底部移動一隻蝙蝠並在避開炸彈的同時捕捉物品。Android MotionEvent for Touch被壓下?
我遇到的問題是當手指放在屏幕的左側或右側時,我希望蝙蝠沿屏幕底部移動。
目前,當用戶觸摸屏幕時,我可以讓蝙蝠移動幾個像素,但直到用戶將他的手指從屏幕上移開時,我無法保持移動。
這裏是我的(非常)基本的代碼至今:
package com.mattdrewery.supercatch;
import android.view.View;
import android.view.MotionEvent;
import android.content.Context;
import android.graphics.Canvas;
public class GameView extends View
{
private Catcher catcher;
public GameView(Context context)
{
super(context);
setFocusable(true);
// Create the catcher
catcher = new Catcher(context, R.drawable.catcher, 240, 250);
}
@Override
protected void onDraw(Canvas canvas)
{
// Draw the catcher to the canvas
canvas.drawBitmap(catcher.getImage(), catcher.getPosX(), catcher.getPosY(), null);
// Redraw the screen
invalidate();
}
@Override
public boolean onTouchEvent(MotionEvent event)
{
// Get the action from the touch screen
int eventAction = event.getAction();
int X = (int) event.getX();
int Y = (int) event.getY();
// If the user presses on the screen....
if (eventAction == MotionEvent.ACTION_DOWN)
{
catcher.moveLeft();
}
// Redraw the screen
invalidate();
return true;
}
}
的catcher.moveLeft()方法如下:
public void moveLeft()
{
posX -= 5;
}
這件事的任何幫助,將不勝感激! :)