2

次のコードがあります。

public boolean onTouchEvent(MotionEvent event) {

            fingerSize = event.getSize();
            fingerPosX = event.getX();
            fingerPosY = event.getY();
            switch (event.getAction()) {

            case MotionEvent.ACTION_DOWN: {

                start = true;
                break;

            }



            }
            return true;
        }

3 つの変数 fingerSize、fingerPosX、fingerPosY を使用して円を描画します。

canvas.drawCircle(fingerPosX, fingerPosY, fingerSize
                    * fingersizeCorrection, paint);

つまり、基本的に、指で画面を移動すると、円が指に追従します。問題は、指を追おうとする円の動きが非常に途切れ途切れであることです。

これをより流暢にするにはどうすれば改善できますか?

これはすべてSurfaceViewで発生します。次のようなfpsリミッターも追加しました:

int FRAMES_PER_SECOND = 60;
        int SKIP_TICKS = 1000/FRAMES_PER_SECOND;
        long next_game_tick = timer.getElapsedTimeMil();
        int sleep_time = 0;

next_game_tick += SKIP_TICKS;
                sleep_time = (int) (next_game_tick-timer.getElapsedTimeMil());
                if(sleep_time >= 0){
                    try {
                        Thread.sleep(sleep_time);
                    } catch (InterruptedException e) {
                        // TODO Auto-generated catch block
                        e.printStackTrace();
                    }
                }
                else{

                }
4

0 に答える 0