Új hozzászólás Aktív témák

  • thon73

    tag

    válasz shinodas #636 üzenetére

    Pl. így? Az ID-t is kiírja.

    private final int MAX_POINTER=10;
    private float[] posx=new float[MAX_POINTER];
    private float[] posy=new float[MAX_POINTER];
    private int[] id=new int[MAX_POINTER];
    private int pointerCount = 0;

    @Override
    public boolean onTouchEvent(MotionEvent event)
    {
    switch (event.getActionMasked())
    {
    case MotionEvent.ACTION_DOWN:
    case MotionEvent.ACTION_MOVE:

    pointerCount = event.getPointerCount();
    for (int cnt = 0; cnt < pointerCount && cnt <MAX_POINTER; cnt++)
    {
    posx[cnt] = event.getX(cnt);
    posy[cnt] = event.getY(cnt);
    id[cnt] = event.getPointerId(cnt);
    }
    this.invalidate();

    break;
    }
    return true;
    }

    @Override
    protected void onDraw(Canvas canvas)
    {
    for (int cnt = 0; cnt < pointerCount; cnt++)
    {
    canvas.drawText(Integer.toString(cnt) + ", [" + Integer.toString(id[cnt]) + "]", posx[cnt], posy[cnt]-80f, text);
    canvas.drawCircle (posx[cnt], posy[cnt], 30f, paint);
    }
    }
    }
    }

    Nem vagyok benne biztos, hogy a getAction() action_POINTER_up kódot is visszaad. Ahhoz sztem. getActionMasked() lekérdezés kellene. De lehet, h. rosszul tudom. A fenti megoldás viszont akár tíz ujjal is működik. (Már ha a hardver tudja...)

    [ Szerkesztve ]

Új hozzászólás Aktív témák