初めて質問させていただきます。現在Javaでhttp://dixq.net/Android/index.phpのイライラ棒を改造して自機をセンサーではなくタッチで移動させようとしています。一応動くには動くのですが動作が自分の望むものにはなってくれません。画面をスライドしたらそれについてくるようにしたいのですが離れたところをスライドするとワープしてしまいます。どうしたらよいでしょうか。また、リトライしたときに取得した座標が引き継がれてしまいます。初期化して最初のスタート位置からリスタートしたいのですがやり方がわかりません。アドバイスお願いします。
コード:
MainActivity
@Override
public boolean onTouchEvent(MotionEvent event) {
switch (event.getAction()) {
case MotionEvent.ACTION_DOWN:
_x = event.getX();
_y = event.getY();
break;
case MotionEvent.ACTION_MOVE:
_x = event.getX();
_y = event.getY();
break;
case MotionEvent.ACTION_CANCEL:
_x = 0;
_y = 0;
break;
}
コード:
Player
public Player(){
_cir = new Circle( 500, 30, SIZE ); //(240,0)の位置にSIZEの大きさの円を作る
_paint.setColor(Color.BLUE); //色を青に設定
_paint.setAntiAlias(true); //エイリアスをオン
}
// 移動ベクトルの向いている方に動かす
private void Move() {
float x = MainActivity.getX();
float y = MainActivity.getY();
_cir._x = x;
_cir._y = y;
}
@Override
public boolean onUpdate(){
setVec(); //移動ベクトルをセットする
Move(); //移動ベクトルが向いている方に動かす
return true;
}