クラス概要

クラス概要




TouchWatcherクラスはタッチ入力を監視するクラスです。
監視するだけで特に何かするわけではありません。。。

タッチイベントはアクティビティに対して送られてきます。
なのでイベントをアクティビティからこのクラスに送ってもらう必要があります。

では、アクティビティにはどのようにイベントが来るのでしょうか?
まずはそれを見てみましょう。

    //  タッチイベント
    @Override
    public boolean  onTouchEvent( MotionEvent event )
    {
        final float touchPosX   = event.getX();
        final float touchPosY   = event.getY();

        //  処理
        Log.i( "tag", String.format( "touch![ %.4f , %.4f ]", touchPosX, touchPosY ));

        return true;
    }

このコードはタッチイベントをログに出すための実験コードです。
ログの出力はこのようになります。

ログ

このようにタッチイベントはスクリーン座標で送られてきます。
イベントの種類は event.getAction() で取得可能で以下のようなものがあります。

  • MotionEvent.ACTION_DOWN
  • MotionEvent.ACTION_MOVE
  • MotionEvent.ACTION_UP

ゲームではイベントのタイミングに関係なくゲーム中で入力情報が欲しいのでこの情報を保存しておきます。
それを踏まえた上でこのクラスに必要なメソッドを挙げてみました。

AddAction()
タッチイベントのアクションを追加していきます。
DeleteAction()
タッチイベントのアクションを削除します。
これはゲーム側で読みこんだアクションを削除するのに使います。
Update()
状態を更新するメソッドです。
GetActionNum()
保存しているアクションの数を取得します。
GetAction()
GetPosition()
アクションの情報を取得します。

では、次はクラスを作ってみましょう。



<前のページ
次のページ>