現在、Androidの館のイライラ棒アプリの改良を行っております。
その箇所において、Web上では加速度センサーを使っておりますが、
自分はタッチによる移動で操作をしたいと思います。
しかし、座標が取得されず円が移動出来ません。
どうか、教えて下さい。
Player.java
public class Player extends Task{
private final static float SIZE = 20; //自機の大きさ
private Circle _cir = null; //自機の円
private Paint _paint = new Paint(); //描画設定
private TouchEvent touchEvent = new TouchEvent(); //インスタンス
public Player(){
_cir = new Circle( 240, 0, SIZE );//(240,0)の位置にSIZEの大きさの円を作る
_paint.setColor(Color.BLUE); //色を青に設定
_paint.setAntiAlias(true); //エイリアスをオン
}
@Override
public boolean onUpdate(){
System.out.println("x"+_cir._x+"y"+_cir._y); //座標取得の確認
_cir._x = touchEvent.getFX();
_cir._y = touchEvent.getFY();
return true;
}
@Override
public void onDraw( Canvas c ){
c.drawCircle(_cir._x, _cir._y, _cir._r, _paint);
}
}
public class TouchEvent extends Activity {
private float _x,_y;
public TouchEvent(){
_x = _y = 0;
}
public float getFX(){
return _x;
}
public float getFY(){
return _y;
}
@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_UP:
break;
default:
break;
}
return true;
}
}