• Hallo,


    eine ganz grundsätzliche Frage zum OnTouch:


    Im Regelfall tippt ich mit dem Finger auf den Screen, fährt damit ein bischen drauf rum und hebt den Finger wieder hoch - und das ganze möcht ich so behandeln:



    Kann es aber nun auch passieren, dass bei einer Screen-Berührung zwar das DOWN und MOVE nicht aber das das UP-Ereignis ausgelöst wird - z. B. ich setze den Finger in Mitte Bildschirm (=DOWN) und fahre (=MOVE) aus dem bildschirm heraus ohne je abzuheben - oder wird grundsätzlich beim Verlassen der Screen-Grenzen das UP-Ereignis automatisch ausgelöst????


    Falls es tatsächlich durch irgendwelche irrwitzigen Verrenkungen des Nutzers passieren kann, dass das UP-Ereignis nicht ausgelöst wird, welche sind das und wie kann man dies sinnvoll programmintern verhindern? Oder anders gefragt, wie kann ich eine Aktion abschließen, die zwar beim DOWN-Ereignis starten soll und erst beim UP-Ereignis beendet werden soll?


    Oder mach ich mir über nix Soregen und sowas gibt's gar nicht?????
    :-/

  • Logisch betrachtet wäre es für mich, wenn dann auch das OnUp aufgerufen wird,da dann ja auch nichts auf dem Display erkannt wird. Wenn der Finger also auf dem Display war und man kommt raus aus dem Feld, dann müsste er es eigentlich ja als OnUp registrieren.
    Vll finde ich ja noch genauere Infos. Das ist jetzt nur mal eine Vermutung.

    MfG,
    Christopher


    Eine gewisses Maß an Freundlichkeit kann man auch von Menschen im Internet erwarten.
    Das Forum basiert komplett auf der Freiwilligkeit ihrer Nutzer und diese sollen sich wohlfühlen! Daher seid bitte freundlich. Danke

  • Gemäß Doku wäre dafür wohl ACTION_OUTSIDE gedacht.

    Zitat

    A movement has happened outside of the normal bounds of the UI element. This does not provide a full gesture, but only the initial location of the movement/touch.

    Je mehr Käse, desto mehr Löcher.
    Je mehr Löcher, desto weniger Käse.
    Daraus folgt: je mehr Käse, desto weniger Käse.


    »Dies ist ein Forum. Schreibt Eure Fragen in das Forum, nicht per PN!«

  • :D Die einfachsten Antworten sind immer die Besten!


    Habs ausprobiert und zwar mit



    ... und Kogoro hatte recht. Beim Verlassen der Screengrenzen wird stets ein "up" ausgelöst - beim physischen Device, nicht beim Virtuellen! Jetzt stellt sich aber die Frage, unter welchen Bedingungen wird nun aber ein "outseide" (Idee von Lucas de Vil) ausgelöst?? Ich hab's nach längerem Probieren nie geschafft, auch nur ein einziges "outside" zu verursachen ...

  • Vll. wenn der Bildschirm begrenzt ist.
    Man legt also z.B. die untere Hälfte als Touchable fest, die obere nicht. Dann könnte ja vll. das ausgegeben werden.
    Ansonsten keine Ahnung was gemeint sein könnte ...


    [Edit:]
    Habe gerade etwas gefunden:

    Zitat

    TouchEvent.ACTION_OUTSIDE (more specifically, MotionEvent.ACTION_OUTSIDE) refers to when a touch event happens outside of the main activity's view. For example, an overlay view would trigger MotionEvent.ACTION_OUTSIDE


    Quelle: http://www.andengine.org

    MfG,
    Christopher


    Eine gewisses Maß an Freundlichkeit kann man auch von Menschen im Internet erwarten.
    Das Forum basiert komplett auf der Freiwilligkeit ihrer Nutzer und diese sollen sich wohlfühlen! Daher seid bitte freundlich. Danke

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!