2016-04-13 12 views
0

Ich bin Neuling zu SDL, ich habe fast mein Spielprojekt mit SDL1.2.15 mit Tastaturereignis abgeschlossen. Jetzt möchte ich Touch Event auch mit meinem Projekt umsetzen. In SDL1.2.15 gibt es jedoch keine touch.h oder eine andere Touch-Bibliothek.Wie implementiert man Berührungsereignisse mit SDL1.2.15?

Ich habe die Datei touch.h von SDL2.0 in meine SDL-Bibliothek kopiert und Änderungen in SDL_event.h vorgenommen. Es kompiliert, aber nicht in der Lage, SDL_Point-Objekt zu verwenden.

irgendein Vorschlag.

Antwort

1

Als ich das letzte Mal überprüft habe (es war schon ziemlich lange her), hat meine Android-Version von SDL SDL_MOUSEMOTION generiert. Es funktionierte für sehr grundlegende Dinge, aber wenn Sie Multitouch benötigen - Sie haben kein Glück.

Die beste Option ist, zu SDL2 zu wechseln. Eine andere Möglichkeit besteht darin, die Touch-Oberfläche Ihrer Zielplattform direkt zu verwenden, die sehr plattformspezifisch ist.

Ich habe die Datei touch.h von SDL2.0 in meine SDL-Bibliothek kopiert und Änderungen in SDL_event.h vorgenommen. Es kompiliert, aber nicht in der Lage, SDL_Point-Objekt zu verwenden. - nicht jemals tun, weder mit SDL noch mit einer anderen Bibliothek. Es macht niemals den Code, der einfach nicht da ist, um auf magische Weise zu erscheinen. Header und Binary müssen die gleiche Version sein, es sei denn, Sie wollen, dass das resultierende Programm sich schlecht benimmt (und selbst wenn Sie es tun - es gibt viel effektivere Möglichkeiten, es sehr schlecht zu machen).

+0

Vielen Dank, Herr Keltar, ich bin komplett auf SDL2 umgestiegen und habe mit event.tfinger.x an einem Berührungsereignis gearbeitet. Codeteil. Ich möchte fragen, gibt es direkt zurück x Kordel Touch-Bildschirm oder brauche ich eine Kalibrierung-Methode, um Touch-Funktionalität zu ermöglichen oder SDL tut es selbst.? –

+0

Koordinaten sind [normalisiert] (https://wiki.libsdl.org/SDL_TouchFingerEvent) im [0..1] -Bereich (für x-Achse 0 ist ganz links und 1 ist ganz rechts). – keltar

Verwandte Themen