c++ Mausbewegung in 3D Spielen?
ich arbeite gerade an einem Programm und habe zum analysieren von bereits vorhandenen Spielen ein kleines Tool geschrieben, dieses Zeigt mir die Position meiner Maus an, das Läuft auch prima, bloß nur nicht in 3D Spielen, hier wird die Position gelockt auf fixe Koordinaten und schwankt eigentlich nahezu gar nicht. Nun frage ich mich kann man die Position immer noch irgendwie abfragen, Ich will bloß z.B die Koordinaten von meinem Fadenkreuz wissen welches ja meiner maus folgt. Nun ist es ja so, das Fadenkreuz bewegt sich, bloß aber nicht die Maus Koordinaten. Kann mir das einer erklären wie das genau funktioniert, also mir ist bewusst das dieser Input der Maus irgendwie in 3D Koordinaten umgerechnet wird etc. aber trotzdem frage ich mich wie kann ich nun die Position der Maus erfassen.
1 Antwort
Die Position der Maus wird in 3D-Spielen in der Regel nicht verwendet, um die Kamera oder das Fadenkreuz direkt zu steuern. Stattdessen wird die Bewegung der Maus von einem Punkt zu einem anderen genutzt, um eine Drehung oder Neigung der Kamera zu erreichen. Die tatsächliche Position der Maus auf dem Bildschirm spielt dabei oft keine Rolle.
Die absolute Position des Mauszeigers auf dem Bildschirm wird daher meistens nicht direkt abgefragt. Stattdessen wird die Differenz der Mausposition zwischen zwei Abfragen (d.h. die Bewegung der Maus) genutzt, um zu berechnen, wie die Kamera oder das Fadenkreuz verschoben werden soll. Daher kann es sein, dass Ihre Anwendung, die die Mausposition auf dem Bildschirm ausliest, nicht die erwarteten Ergebnisse liefert.
Für den Fall, dass Sie die Position des Fadenkreuzes in einem 3D-Spiel abfragen möchten, kann dies ziemlich kompliziert werden, vor allem, wenn das Spiel nicht dafür ausgelegt ist, solche Informationen zur Verfügung zu stellen. Sie müssen möglicherweise auf die Spiel-API zugreifen (wenn verfügbar), um die benötigten Informationen zu erhalten, oder eventuell auch Reverse Engineering betreiben, was in vielen Fällen rechtlich problematisch sein kann. Eine andere Möglichkeit wäre es, mit Optical Character Recognition (OCR) zu arbeiten, um das Fadenkreuz auf dem Bildschirm zu erkennen und dessen Position zu bestimmen.