我正在從事Android的2D平臺遊戲,我在觸摸事件方面遇到了一些麻煩。 這是我的代碼:在遊戲中觸摸運動的錯誤
public boolean onTouch(MotionEvent e, int scaledX, int scaledY) {
if (e.getAction() == MotionEvent.ACTION_DOWN) {
for (int i = 0; i < object.size(); i++) {
tempObject = object.get(i);
if (tempObject.getId() == ObjectId.Player) {
if (moveRight.contains(scaledX, scaledY)) {
Log.d("PlayState", "Move button is pressed!");
tempObject.setMovingRight(true);
} else {
tempObject.setMovingRight(false);
}
}
}
}
if (e.getAction() == MotionEvent.ACTION_UP) {
for (int i = 0; i < object.size(); i++) {
tempObject = object.get(i);
if (tempObject.getId() == ObjectId.Player) {
if (moveRight.contains(scaledX, scaledY)) {
Log.d("PlayState", "Move button is released!");
tempObject.setMovingRight(false);
}
}
}
}
return true;
}
當我觸摸矩形,並釋放它的偉大工程的矩形內。問題是,如果我觸摸矩形並在觸摸的同時將手指移動到其他地方,則角色會繼續移動。我的問題是,如何編程它,使得「移動右側」僅在矩形內發生觸摸時才爲真。 謝謝! :)
我試圖像你說的改變語句,但它並沒有解決這個問題.. – Guy 2014-12-07 20:02:22