こんにちは、お気遣いありがとうございます。初めての Android ゲーム アプリケーションを作成しようとしています。ゲームは、プレーヤーにポイントに触れて、指を右または左に動かすように求めます。コードは、タッチされたポイント、開始ポイント、および方向を検出する必要があります。
付属のコードを試しましたが、うまくいきません。数日間、タッチイベントに関するコードを検索して苦労しています。ここでヒントを徹底的に検索してもらいましたが、役に立ちそうなものは何も見つかりませんでした。
いくつかの記事やガイドに言及しても、私を助けてもらえますか.
これが私のコードです:
public class BaoView extends View {
... omissis ...
public BaoView(Context context, AttributeSet attrs) {
super(context, attrs);
init();
}
public void init() {
startPoint = new Point();
endPoint = new Point();
movePoint = new Point();
setFocusable(true);
loadPitLocations();
loadImages();
this.setOnTouchListener(new View.OnTouchListener() {
public boolean onTouch(View v, MotionEvent event) {
switch (event.getAction()){
case MotionEvent.ACTION_DOWN:
startPoint.x = (int) event.getX();
startPoint.y = (int) event.getY();
break;
case MotionEvent.ACTION_MOVE:
movePoint.x = (int) event.getX();
break;
case MotionEvent.ACTION_UP:
dir=0;
if(event.getX()>startPoint.x){
dir=1; // right
}
if(event.getX()<startPoint.x){
dir=-1; // left
}
if(dir!=0){
Move(startPoint.x,startPoint.y,dir);
}
break;
}
return true;
}
);
}
編集: Move() の 'dir' パラメータを忘れました。