Android Touch und Swipe

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Android Touch und Swipe

    Hallooo :D... bei meinem Projekt will ich eine etwas anspruchsvollere Steuerung machen und zwar kann die figur springen,ducken und schlagen. Ich habs zwar noch nicht gemacht aber von der theorie her bin ich mir sicher das es so einfach nicht klappt wie ich es möchte. Und zwar will ich das wen ich mit dem finger von links nach rechts gehe er schlägt und wenn von oben nach unten sich duckt (swipe) das ist ja an sich ja kein problem und wenn ich nur ganz normal tappe er springt an sich ja auch kein problen aber beides gemeinsam wieder nicht. Und zwar geh ich jetzt davon aus dass wenn ich schlagen will er das zwar macht aber davor erst einmal springt... hätte da jemand ne idee wie es machen könnte das ich zwar wenn gewollt sofort reagiere und springe und wenn nicht gewollt nur z.B schlage? :) gruß eddy
    Wir stehen zusammen und wir fallen zusammen
  • hey @Gruen das war eine gute Idee... ich hab die Steuerung zwar etwas anders gemacht also statt zu wischen habe ich virtual keys eingebaut... aber im prinzip kommts aufs gleiche raus.... wenn 3 steps abgelaufen sind und man auf die rechte hälfte des bildschirmes drückt springt er, wenn links wird er klein und wenn man beide seiten gleichzeitig unter 3 steps drückt schlägt er zu... das klappt alles von der Theorie her super doch leider gibt es ein großes ABER... und zwar (und ich hoffe da kann mir jemand helfen bzw. tipps geben)... mein Galaxy S7 ist z.B schneller als das Huawai P9 meines Bruders... als ich die "millisekunden" für mein handy optimiert programmiert habe, musste mein bruder gefühl ne sek. länger draufhalten damit er springt... als ich es für sein handy optimiert habe wars fast unmöglich auf meinem handy beide gleichzeitig zu drücken... jetzt habe ich es versucht meine steps mit delta_time zu multiplizieren da ich wollte das es auf allen smartphones gleich reagiert... delta_time hilft da zumindenst nichts... dann hab ich mir überlegt es mit millisekunden zu machen, das problem ist nur das irgendwas nicht stimmt... normalerweiße nulle ich meinen date_time zähler beim pressed event, beim beim normalen mouse event zählt er die differenz zwischen start und wielange die maus gehalten wurde... aber er nullt es nicht... ich raffs irgendwie nicht
    Wir stehen zusammen und wir fallen zusammen
  • verwende statt alarm[0]=3; lieber alarm[0]=room_speed*0.3;

    denke du kennst das bereits, aber hier wird dein Room_speed multipliziert und dadurch ist es egal ob du 30 fps hast oder 60 fps hast.
    außerdem musst du darauf achten das du das nicht ins draw-event schreibst sondern ins step-event.


  • danke @Vectorhead coole videos die bringen mir aber leider nichts... @Gruen ich arbeite nicht mit mit alarms aber dein ansatz ist gut ich habe den code jetzt mal testhalber so gemacht anstatt das ich beim drücken der taste step incremental dazu rechne addiere ich step += room_speed/room_speed; so muss immer +1 raus kommen... jetzt werde ich mal ne APK erstellen und die auf den Smartphones testen :) danke :D
    Wir stehen zusammen und wir fallen zusammen
  • @TrunX das es 1 ergibt weiß ich ja :).. nur habe ich gehofft das es was bringt, tut es leider nicht... jetzt probiere ich es mal so das ich die fps_real benutze, da diese Zahl ja bei jedem System anders ist je nachdem wie stark oder schwach die CPU ist :)
    Wir stehen zusammen und wir fallen zusammen
  • Ist zwar schon etwas länger her die Frage.. aber hast du schonmal überlegt die Aktionen beim Release auszuführen? In dem Fall kannst du nämlich die Bewegung des Fingers zwischen Press und Release tracken in beim Loslassen auswerten und entscheiden, welche Aktion ausgeführt werden muss.