Skip to content

Comprova l’estat del touch a reprendre app

jordi fita mas requested to merge jfita/tramposillu:check-touch-on-resume into master

Si deixaves apretat els dits i marxaves de l’aplicació sense tancar-la, al reprendre-la la libGDX ha perdut l’estat del touch i no li envia cap touchUp al joc, pel que sembla qe s’hagi quedat penjat pensant-se que els dits encara són a la pantalla. Per treure aquest estat havies de tornar a prémer «el suficient número de dits» perqué fes el touchDown del pointer que havia quedat premut i després vegi el touchUp corresponent.

Ara el que faig és que quan es reprèn l’aplicació comprova l’estat de tots els dits premuts i treu els que troba enlaire. Amb les proves que he fet jo significa que sempre els treu tots, suposo perquè la GDX.input.touchDown() comença sempre a false fins que no rep un touchDown també, però he pensat deixar el codi per indicar la meva intenció, que tampoc no fa cap mal, i si per casualitat alguna versió de libGDX ho fa millor, doncs ja estarà fet.

He hagut de desar els punters dels dits aixecats a un altre array perquè no pots esborrar un element mentre fas un for d’un HashMap, pel que primer em guardo tots els punters a treure i en acabat és quan els trec de veritat.

Merge request reports