Multitouch funktioniert nicht

K

Kaisky007

Neues Mitglied
0
Moin, ich probiere seit Tagen, dass man in meinem spiel mehrere Buttons gleichzeitig drücken kann, was ohne Multitouch nicht geht.
Der folgende code bewirkt aber nichts, das programm nimmt immernoch nur das zuerst gedrückte.
Code:
    public boolean onTouchEvent(MotionEvent ev)
    {
        final int count = ev.getPointerCount();
        for(int i = 0; i < count; i++)
        {
            final int x = (int) ev.getX(i);
            final int y = (int) ev.getY(i);
            final int action = ev.getAction();
            if(action == MotionEvent.ACTION_DOWN)
            {
                Touch(x, y, false);
            }
            else if(action == MotionEvent.ACTION_UP)
            {
                Touch(x, y, true);
            }
        }
        return true;
    }

Grüße Kaisky007
 
Was versuchst du denn zu erreichen? Das was du da machst, sieht für mich etwas komisch aus.

Wenn du mehrere Touchevents abfangen willst, musst du einen OnTouchListener verwenden. Da heißt die Methode onTouch(...). Für jeden Druck wird bei dem Listener ein Event gefeuert, anhand der PointerID kannst du dann unterscheiden, ob es der erste oder 2 Finger war.
 
Was versuchst du denn zu erreichen?
Ich habe in der App mehrere Touch Buttons. Später im spiel wirds kaum noch schaffbar wenn die Buttons nicht reagieren, weil man noch den letzten drückt. Mein ziel ist nun das man z.b. button 1 und 2 auch gleichzeitig drücken kann, oder ganz schnell hintereinander.

So, jetzt verwende ich onTouch, aber er reagiert nur auf multitouch wenn ich if(action == MotionEvent.ACTION_DOWN) weglasse. Nur dann führt er wenn ich nur ein finger benutze das alles doppelt aus.
 
Benutzt du einen OnTouchListener und weist auch allen Button den Listener hinzu?

Hast du dir das mit der ID mal angeschaut?
 
Mit der ID habe ich mir ein Beispiel angeschaut, half aber auch nicht.
Und ich weise kein Button was zu, sondern habe nur den oben angegebenen Code (jetzt bisschen verändert) und in Touch(int x, int y, boolean release) wird dannabgefragt ob die koordinaten auf einen button treffen. Somit habe ich ein Listener für den ganzen View..
 

Ähnliche Themen

SaniMatthias
Antworten
19
Aufrufe
871
swa00
swa00
O
Antworten
15
Aufrufe
2.866
ORHUX
O
K
Antworten
3
Aufrufe
1.147
Kapikalaani
K
Zurück
Oben Unten