Ich möchte einen Ego-Shooter machen und die Kamera mit der Maus bewegen. Das Problem ist, dass sich die Kamera nicht mehr dreht, wenn der Cursor die Grenzen des Bildschirms erreicht. Wie kann ich die Maus trotzdem zentriert halten und ihre Bewegungen erkennen?
38
Antworten:
Die allgemeine Vorgehensweise bei der klassischen Win32-Programmierung besteht darin, das Maus-Delta für jeden Frame zu erfassen und dann die Mausposition auf die Mitte des Bildschirms zurückzusetzen. Sie möchten natürlich auch den Mauszeiger unsichtbar machen, da sonst die Dinge hässlich aussehen.
Sie können dasselbe in XNA tun, Sie arbeiten nur mit einer etwas anderen Oberfläche. Sie könnten also etwas tun wie:
BEARBEITEN: Außerdem ist hier ein Tutorial, das ich über eine Google-Suche nach "XNA relative mouse input" ausgegraben habe (was Sie fragen). Es ist ein bisschen alt, denke ich, so dass einige der Methoden ihre Namen geändert haben, aber die Konzepte sollten immer noch gelten.
BEARBEITEN 2: Bedeutet, dass "dies in Win32 behandeln" und nicht "dies ist Win32 behandeln", entsprechend aktualisiert.
quelle