0

ユーザーがボタンに触れると、サウンドが再生されます。ボタンがたくさんあって、それぞれ違う音がします。ユーザーがすべてのボタンに指を移動すると、すべてのサウンドが再生されます。ピアノアプリのようなもの。どうすればいいですか?ontouch lister を試してみましたが、うまくいきません。

4

1 に答える 1

1

onTouch メソッド内で、ユーザーの TouchDown から始まり、TouchMove、最後に TouchUp というさまざまなイベントをキャプチャする必要があります。ボタン領域でサウンドを再生するかどうか、すべての x、y 座標を探します。

現在のボタンの選択が前のものとは異なることを確認してください。そうしないと、指が同じボタンの上を移動すると、同じボタンに対して別のイベントがトリガーされ、指を動かしているときに大量の音が発生します。

疑似コード:

@Override
public boolean onTouch(View v, MotionEvent event) {
    // TODO Auto-generated method stub

    switch(event.getAction())
    {

    case MotionEvent.ACTION_UP:     // stop here
        break;
    case MotionEvent.ACTION_DOWN:   // start here
        break;
    case MotionEvent.ACTION_MOVE:   
            // See if new x y co-ordinates in your buttonRect area 
            // RectF [] buttonRect = new buttonRect[10] ;
            for(int i = 0; i < 10; i++)
            {
                if( buttonRect[i].contains(event.getX(), event.getY()))
                {
                    // if it's a new button found than previously touch, play a sound

                    // store the button number that's been tapped by user

                }
            }


        break;
    }
}

それが役に立てば幸い。

于 2013-10-18T22:08:17.607 に答える