Sto sviluppando un gioco e ho bisogno di essere in grado di rilevare che un dito sta eseguendo una SPOSTA mentre posibly altro dito può toccare un'altra parte dello schermo.Come per rilevare un evento di tocco con un altro dito mentre un ACTION_MOVE è in corso
Con questo codice sono in grado di rilevare sia l'ACTION_MOVE (su certa regione dello schermo) e l'ACTION_DOWN
public boolean onTouch(View v, MotionEvent event) {
final int dest_x = (int) event.getX();
final int dest_y = (int) event.getY();
onTrackPad = dbSettings.TRACK_PAD.contains(dest_x, dest_y);
switch (event.getAction()) {
case MotionEvent.ACTION_MOVE:
if (onTrackPad)
{
//move character
}
break;
case MotionEvent.ACTION_DOWN:
// Fire bullets
break;
}
//The event was consumed
return true;
}
Il problema è che io non sono in grado di muoversi e sparare allo stesso tempo (Devo smettere di muoverti per sparare e viceversa)
Sono consapevole del fatto che Android can handle multi-touch events ma non ho idea di come usarlo per essere in grado di elaborare questi eventi e allo stesso tempo in modo che il giocatore possa muoversi e sparare allo stesso tempo
Ho anche provato a usare lo getActionMasked
senza fortuna
non è il tuo MotionEvent che memorizza tutte le informazioni multytouch ?? https://developer.android.com/training/gestures/multi.html – eduyayo
@eduyayo hai appena incluso lo stesso link di quello che ho fornito potresti fornirmi una risposta più dettagliata (non un commento) Grazie –
Hai bisogno di esegui lo spostamento e lo sparo in un thread separato o interromperà il thread dell'interfaccia utente (se non lo fai già). – Manu