Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Cross-Platform-Entwicklung (https://www.delphipraxis.net/91-cross-platform-entwicklung/)
-   -   Multitouch und virtueller Joystick (https://www.delphipraxis.net/176748-multitouch-und-virtueller-joystick.html)

Peter666 24. Sep 2013 11:27

Multitouch und virtueller Joystick
 
Hi,

hat jemand Erfahrung mit einer Multitouchprogrammierung? Mein Problem ist relativ leicht beschrieben. Ich möchte gerne einen virtuellen Joystick erstellen der auf einem Android oder IOS Tablet/Telefon funktioniert. Angedacht ist das man mit linker und rechter Hand die Eingaben steuern kann. Rechts die Buttons und links das virtuelle Steuerkreuz. Je nachdem wo man seinen Finger auf der linken Seite oder rechten Seite drückt, blenden sich die Elemente ein. Wie bekomme ich bei IOS und Android via Firemonkey die Information wo der Benutzer die auf den Bildschirm drückt? Mit OnMouseMove bekomme ich zwar die Position von einem Finger, aber sobald man mit mehreren Fingern auf das Display drückt geht es ja nicht mehr.

RWarnecke 24. Sep 2013 18:31

AW: Multitouch und virtueller Joystick
 
Ich würde für das Steuerkreuz einen großen Kreis nehmen, den ich mit dem Finger verschieben kann. Und dann bräuchte man nur noch die Richtung auslesen, in welche Richtung verschoben wird. So brauche ich mich nicht auf die Eingabe der Finger konzentrieren. Der große Kreis kann nur in einem bestimmten Radius verschoben werden. Die Stelle wo der Kreis im Moment ist, wird sich gemerkt, wenn noch ein zusätzlicher Touch ausgeführt wird.

So wäre meine grober Fahrplan um das Problem zu lösen.

Peter666 24. Sep 2013 18:41

AW: Multitouch und virtueller Joystick
 
Danke, ja so hab ich das auch angefangen zu implementieren. Der Finger drückt auf einen Bereich auf der linken Seite des Touchpads und das ist der Mittelpunkt des Joysticks, bewegst du nun den Finger in eine Richtung wird halt oben, unten, links, rechts relativ zum Mittelpunkt von der Klasse geliefert und ein kleiner runder Kreis wird als Joystick gerendert. Mir geht es eigentlich nur darum, dass ich gerne wissen möchte wie ich neben dem linken Finger auch noch den Druck zeitgleich auf einen Button der rechts von der Bildschirmmitte zu finden ist realisiere.

RWarnecke 24. Sep 2013 18:49

AW: Multitouch und virtueller Joystick
 
Zitat:

Zitat von Peter666 (Beitrag 1229794)
Danke, ja so hab ich das auch angefangen zu implementieren. Der Finger drückt auf einen Bereich auf der linken Seite des Touchpads und das ist der Mittelpunkt des Joysticks, bewegst du nun den Finger in eine Richtung wird halt oben, unten, links, rechts relativ zum Mittelpunkt von der Klasse geliefert und ein kleiner runder Kreis wird als Joystick gerendert.

Bewegt sich der Kreis oder nicht ?

Zitat:

Zitat von Peter666 (Beitrag 1229794)
Mir geht es eigentlich nur darum, dass ich gerne wissen möchte wie ich neben dem linken Finger auch noch den Druck zeitgleich auf einen Button der rechts von der Bildschirmmitte zu finden ist realisiere.

Hast Du zufällig die AR Drone ? Wenn ja, dann schaue Dir doch mal die App AR Freeflight und DroneControl an. Dort wird sowas realisiert. Wenn Du die Drone nicht hast, dann suche mal bei YouTube nach dem Namen "AR Drone 2.0" und ARFreeFlight und DroneControl, da gibt es mehrere Videos zu, wo auch die App's gezeigt werden.

Peter666 24. Sep 2013 20:17

AW: Multitouch und virtueller Joystick
 
Liste der Anhänge anzeigen (Anzahl: 1)
Naja das ging mir weniger darum wie so etwas funktioniert, weil es ja in anderen Anwendungen auch geht ;) Ich wollte das halt gerne den vorhandenen Bordmitteln (sprich Firemonkey) realisieren. Derzeit geht mit Bordmitteln nur OnMouseMove mit OnMouseDown oder Up als Indikator für "der Finger drückt das Touchpad". Hast du mehrere Finger auf dem Tablet in Gebrauch funktioniert das ganze nicht mehr. Im Prinzip habe ich mein *Ichmagkeinblödes Datenbankdemoprojekt zum Fußfassen*-Jumpandrun, das ich für so etwas vor Jahren (für XE2) mal geschrieben habe, als für mich halbwegs sinvolle Variante für erste mobile Gehversuche benutzt. Zumindest habe ich u.a. dieses 0 Anfang vs 1 Byte für Strings auf diese Weise spielend, und das man jetzt quasi für jede Klasse ein Interface und handles hat und sich somit nicht mehr um Garbagemanagement kümmern muss schmerzhaft erfahren. Zurück zu dem Jumpandrun: Du kannst ja im Normalfall die Spielfigur bewegen und gleichzeitig schießen. Das geht bei einem Touchpad nur sofern man Cursor und Knöpfe zeitgleich drücken kann.


Alle Zeitangaben in WEZ +1. Es ist jetzt 01:01 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz