MultiTouch, TouchObject und Vieles mehr

Übersicht BlitzMax, BlitzMax NG Codearchiv & Module

Neue Antwort erstellen

Lobby

Betreff: MultiTouch, TouchObject und Vieles mehr

BeitragMi, Apr 21, 2010 12:04
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallöchen,

Eigentlich wollte ich das hier schon vor Wochen veröffentlichen, aber sei es drum. Hiermit präsentiere ich mein MultiTouch Modul (und Vieles mehr) Wink .

Erst einmal, wie jetzt, Multitouch? Gemeint ist ein "richtiges" Multitouch-Interface für welches Windows seit Win7 eine Schnittstelle bekommen hat. Natürlich ist in diesem Falle die entsprechende Hardware erforderlich, aber dazu gleich mehr. Hier einen kurzen Artikel dazu. Meines Wissens nach produzieren bisher vor allem Firmen wie HP, Acer und Dell Computer mit Multitouchscreen.
Alle die nicht Win7, oder gar kein Windows, verwenden, oder kein Multitoucscreen besitzen, dürften sich nun sicherlich zurecht fragen, in wie fern sie das tangiert Rolling Eyes . Solange diese Betriebssysteme keine entsprechende Schnittestelle und entsprechende Hardware besitzen, lässt sich auf diesen nun einmal kein Multitouch umsetzen. Allerdings bestünde diesbezüglich die Möglichkeit, dass man mit Hilfe von mobilen Geräten mit entsprechender Hardware eine Art Multitouch-Remote wagt (per Netzwerk via. Geräte wie iPhone/iPodTouch oder iPad). Des Weiteren wären auch Steuerungen über Tasten oder MT-fähige Trackpads möglich, aber daran wird noch gearbeitet.
Zurück zur Frage „Was tangiert mich das?“ bei 'nicht Win7': Einerseits gilt für Windows, dass egal unter welcher Version es kompiliert wurde, die Anwendung unter Win7 jederzeit MT-fähig (auf Hardwarebasis) wäre, andererseits gilt für Mac und Linux, dass man nie weiß was die Zukunft bringt und dank virtueller Touchpunkte kann man auch dort durchaus schon entsprechende Software entwickeln Cool .

Das MultiTouch Modul ist größtenteils gut dokumentiert und enthält die Types/Klassen TMultiTouch, TTouchPoint und TVirtualTouchPoint (Letztere zur Steuerung nicht existentieller Touchpunkte).
Da dieses Modul allein nur Touchpunkte verwalten kann lege ich noch ein paar andere Module bei wie etwa das TouchObject Modul mit dessen Hilfe man das bekannte Drehen von Bildern und Objekten per Touchscreen relativ leicht hinbekommt. Da ich nicht immer allzu umsichtig bei der Dokumentation war, zumindest bisher nicht, habe ich ein paar recht aussagekräftige Beispiele beigelegt die das Ganze etwas verständlicher machen sollten.
Hier zwei Videos zu einem Großteil der Samples:
Video 1 | Video 2

user posted image

Zu dem Download:
Download lobby.mod (Größe: ~8,48 MB)

Viel Spaß damit Wink . Die Beispiele sind vorkompiliert und liegen auch als Source bei (teilweise kommentiert). Sie sind ebenso wie die Module alle komplett im SuperStrict-Mode programmiert. Die verwendete Auflösung für die Beispiele kann mit Hilfe der im cfg-Ordner liegenden config.cfg Datei angepasst werden (Im Vollbild kann man alternativ neben der Escape-Taste die Beispiele auch über einen imaginären Schließebutton oben rechts schließen). Die Installation erfolgt durch Integrieren der Inhalte des im Downloadpaket enthaltenen Mod-Ordners in den eigenen BlitzMax-Mod-Ordner sowie dem Rebuilden der Module (unter Windows schon vorkompiliert).

Hier nun auch noch ein paar Screens:
user posted image user posted image user posted image user posted image

Noch ein großes Dankeschön an raflmaster für seine tollen Bilder die er mir für die Beispiele zur Verfügung gestellt hat, sowie an ich, welcher mich auf die Idee der virtuellen Touchpunkte brachte und mir grundlegend an einer möglichen Umsetzung der iPhone/iPodTouch/iPad Steuerung hilft.

Und zum Schluss noch einmal eine vollständige Auflistung aller integrierten Module:
lobby.arraylist
Simpler Listentype mit gleichem Funktionsumfang wie LinkedLists (jedoch bei geringer Manipulation schneller).
lobby.beziercurve
Mit dieser Klasse kann man anhand ein paar n Punkte mit x Dimensionen einen jeden beliebigen Punkt auf einer Bezierkurve berechnen lassen.
lobby.body
Dimensionsunabhängige Klasse zur Zusammenfassung von Polygonen.
lobby.clipboard
Versuch, ein plattforumunabhängiges Modul zu schaffen, es scheitert leider bei Linux (wird daher dort nur emuliert). Wer unter Linux Clipboardfunktionen nutzen möchte kann sich vl. einmal das Irrlichtmodul von gman ansehen Wink .
lobby.content
Ermöglicht das Zusammenfassen von Text, Bildern und weiteren Objekten in einer Klasse.
lobby.datafile
Speichern von in Gruppen geordneten Informationen mit Verschlüsselung.
lobby.eventreceiver
Eine Alterntive zu brl.polledinput, jedoch lassen sich die Daten manuell updaten.
lobby.fastrandom
Kleine Klasse deren Instanzen getrennt für "Scheinzufälle" genutzt werden können.
lobby.filemanipulator
Bitgenaue Dateimanipulation.
lobby.inifile
INI-Dateileser und -schreiber.
lobby.ioscontroller
Fernsteuerung von iOS-Geräten via Websocket. Geschrieben von ich.
lobby.line2d
Simple 2D Linie mit Extrafunktionen.
lobby.multitouch
Das Multitouchmodul, arbeitet auch unter nicht multitouch-fähigen Geräten perfekt mit Verwendung der Maus.
lobby.object2d
Zur Verwaltung von 2D-Objekten.
lobby.polygon
Vielecke von n Dimensionen.
lobby.touchgui
Eine für Multitouch geeignete GUI, allerdings mit der Freiheit kein festgelegtes Aussehen oder bestimmte Gadgets zu haben.
lobby.touchobject
Mit Multitouch manipulierbares 2D-Objekt.
lobby.updater
Kleines Modul zur Durchführung von Updates. Geschrieben von ich.
lobby.vector
Eine Vektorklasse für Vektoren mit n-Dimensionen.
lobby.wavearea
Kleine Engine um Wellenbewegungen aus der Vogelperspektive zu simulieren.
lobby.wndproccallback
Erlaubt das ersetzen der wndproc-Funktion des aktuellen Fensters ohne die vorherige vollständig zu verdrängen.

Ich wünsche euch viel Spaß mit den Modulen, vielleicht ist ja auch für euch etwas Brauchbares dabei Smile .
Mit freundlichen Grüßen,
Lobby
  • Zuletzt bearbeitet von Lobby am Mo, Sep 11, 2023 15:13, insgesamt 15-mal bearbeitet
 

c64

BeitragSa, Mai 15, 2010 11:31
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi,

nicht verkehrt, aber wie sieht es denn mit der Unterstützung von Multitouch Touchpads aus ist sowas auch realisierbar?

Habs auf meinem EEEPC getestet aber das Mutlitouch funktionierte nicht, mit den Virtuellen Touchpoints natürlich schon.

Feine Sache dies!

mfg. Patrick
Betreten verboten! Kinder haften für ihre Eltern!

Lobby

BeitragSa, Mai 15, 2010 12:29
Antworten mit Zitat
Benutzer-Profile anzeigen
Moin c64,

Ich nehme einmal an dein eeePC hat keinen Multitouchscreen (das hat bisher aus der eeePC Reihe nur das T91mt Modell Smile ). Wie ich anderswo bereits erwähnte wäre solch eine Umsetzung in der Theorie durchaus möglich, doch scheitert es wiedereinmal wie so oft daran, dass man nicht den nötigen Zugriff auf das Touchpad erhält, welcher je nach Hersteller sowieso ganz verscheiden wäre...

Tatsache ist, dass ich bisher keinen Weg gefunden habe auf die einzelnen Touchpunkte bei einem Touchpad zuzugreifen. Falls jemand eine Lösung kennt wäre ich ihm dafür sehr dankbar.

Ansonsten hätte ich da lediglich für Multitouch-Trackpads (unter MacOS) etwas gefunden: Arrow Link
Nur leider scheint das auch nicht in der Lage zu sein die einzelnen Punkte entgegen zu nehmen. Tja, was kann man da wohl machen?

Für dich käme vl. noch der Weg über die Webcam in Frage, aber aus guten Gründen habe ich so etwas noch nicht vorintegriert Rolling Eyes .

MfG
Lobby
 

c64

BeitragMo, Mai 17, 2010 10:51
Antworten mit Zitat
Benutzer-Profile anzeigen
HI Lobby,

mir gehts wirklich nur um die nutzung von Mutlitouch-Touchpads, ob man nun ein Touchscreen hat oder ein Touchpad, letzlich hat man auf beiden mehrere Touchpoints, deswegen wäre eine umsetzung über eine Webcam für mich nicht relevant und wäre auch fernab von dem, denke ich zumindest. Aber als Gedankenspielerei wäre eine bedienung über ein optisches Interface mit mehreren "Actionpoints" auch nicht verkehrt, und auch relativ einfach zu realisieren sofern man bereit wäre dafür "Modifizierte Handschuhe" zu benutzen, einfach jewails an Daumen und Zeigefinger Farbig markierte Fingerspitzen so wäre die Erkennung der Actionspunkte über die Cam rel. einfach nur die Umtsetzung müsste dann noch überlegt werden, man hätte somit 4 Punkte zu Interaktion mit dem Programm.

mfg. Patrick
Betreten verboten! Kinder haften für ihre Eltern!
 

LucySalz

Betreff: Reupp?

BeitragSo, Apr 10, 2011 13:30
Antworten mit Zitat
Benutzer-Profile anzeigen
Könntest du das Modul nochmal hochladen, der link funzt nicht mehr ^^
Lars Kammer
 

FWeinb

ehemals "ich"

BeitragSo, Apr 10, 2011 21:28
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich habe es Vorübergehend hier Hochgeladen lobby.mod.
Es gibt im Moment Server Probleme.
"Wenn die Menschen nur über das sprächen, was sie begreifen, dann würde es sehr still auf der Welt sein." Albert Einstein (1879-1955)
"If you live each day as if it was your last, someday you'll most certainly be right." Steve Jobs
 

LucySalz

BeitragMo, Apr 11, 2011 14:18
Antworten mit Zitat
Benutzer-Profile anzeigen
wie installier ich den mod?... dass ich den auch für meine projekte nutzen kann?
Lars Kammer

Lobby

BeitragMo, Apr 11, 2011 16:24
Antworten mit Zitat
Benutzer-Profile anzeigen
Sofern Du eine Vollversion von BlitzMax hast, funktioniert das wie mit jedem anderen Modul auch. Allgemein möchte ich hierbei auf den bereits angepinnten Thread 'Anleitung und Hinweise zur Installation von Modulen' hinweisen.
Im Falle des Multitouch-Moduls hast Du ein RAR-Archiv, welches einen Ordner 'lobby modules' enthält. Dieser wiederum enthält einen Ordner 'mod', dessen Inhalte sinngemäßg in den mod-Ordner deiner BlitzMax-Installation gehören.
Ist das soweit erst einmal geschehen, kann es eigentlich schon losgehen, da die Module für Windows vorkompiliert sind (anderenfalls musst Du sie dir also selbst kompilieren). Ich wünsche viel Spaß mit den Modulen und muss mich für den vorübergehend toten Downloadlink entschuldigen.
TheoTown - Eine Stadtaufbausimulation für Android, iOS, Windows, Mac OS und Linux

Neue Antwort erstellen


Übersicht BlitzMax, BlitzMax NG Codearchiv & Module

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group