Keresés

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

  • thon73
    tag

    Az általad mutatott példában, mikor van a ciklus, ott hogyan tudom elkülöníteni a két pointerem értékét?

    case MotionEvent.ACTION_MOVE:
    pointerCount = event.getPointerCount();
    for(cnt = 0; cnt<pointerCount && cnt<MAX_POINTER;cnt++)
    {

    posx[cnt] = event.getX(cnt);
    posy[cnt] = event.getY(cnt);
    id[cnt] = event.getPointerId(cnt);

    mPosX = posx[cnt];
    mPosY = posy[cnt];
    }
    this.invalidate();
    break;

    Itt szeretnék mPosX2, és mPosY2-nek is értéket adni, de nem tudom, azt a pointert, hogyan kezeljem le.

    Ez csak egy bemutató-példa. Mi lenne a cél? Ha két fix alakzatot akarsz mozgatni, akkor azok koordinátáit kell külön tárolni, és egy-egy érintésnél legfeljebb a megfelelő ID-jű érintéshez rendelni.
    Egy touchEvent az tényleg egyetlen érintés(sorozatot) ír le. Az ID arra szolgál, hogy EZEN BELÜL egy-egy ujjat kövessen akkor is, ha a többit felemeled (az index uis. csak felsorolja az aktuálisan hozzáérő pontokat, de a sorszám itt változhat.) Az már a Te programod feladata, hogy az alakzatok (és mozgásuk) valamint az érintések közötti logikát megalkossa. A bemutató csak minden mozdulatnál új alakzatokat rajzol az érintési pontokra, nem "gondoskodik" az alakzatokról, ezért is tűnnek el.

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