Erstellen (oder Emulieren) eines "D-Pads" auf einem Touchscreen; virtuelles d-pad

12

Angesichts der zunehmenden Verbreitung von Touch-basierten Geräten, bei denen vielen ein echtes D-Pad fehlt, frage ich mich, ob jemand Ressourcen hat, um ein D-Pad auf einem Touchscreen zu emulieren. Ich interessiere mich speziell für XNA- und / oder Android-Codebeispiele.

Nate
quelle

Antworten:

5

Es gibt eine XNA Probe von Touch thumbsticks hier

Ich möchte noch einmal betonen, dass ein dpad wahrscheinlich nicht die richtige Schnittstelle für ein Touchscreen-ähnliches Gerät ist.

Etwas wie das, was Epos mit Infinity Blade für das iPhone getan hat, kann Sie zu Movie Link inspirieren

Graeme Bradbury
quelle
Für zukünftige Besucher ist der Link oben jetzt 404s. Das Beispiel finden Sie jetzt hier: xbox.create.msdn.com/en-US/sample/touchthumbsticks
Gabriel Isenberg
16

Kann ich Sie davon abhalten, ein D-Pad auf einem Touchscreen-Gerät zu emulieren?

Die Probleme beim Emulieren eines D-Pads auf einem Touchscreen sind:

  • Das D-Pad belegt Platz auf dem Bildschirm, den Sie für das Spiel verwenden könnten.
  • Im Gegensatz zu einem echten D-Pad bietet ein emuliertes D-Pad so gut wie kein Feedback: Als Spieler können Sie die Richtung, in die Sie drücken, weder durch das Gefühl noch durch das Sehen erkennen (da Ihr Finger das D- Pad auf dem Bildschirm). So rutscht Ihr Finger nur allzu leicht vom D-Pad oder auf den falschen Teil davon, was zu Fummelei und Frustration führt.

Ein Touchscreen-Gerät ist viel mehr als ein Gerät, dem "ein echtes D-Pad fehlt". Ein Touchscreen-Gerät ermöglicht es dem Spieler, den Bildschirm an einer beliebigen Stelle zu berühren und so mit jedem sichtbaren Spielelement zu interagieren . Dies bietet eine breite Palette an Möglichkeiten für das Spieldesign und diese Designs sind wahrscheinlich angenehmer zu verwenden als ein emuliertes D-Pad.

Gareth Rees
quelle
1
Das Implementieren von Pathing für einen kleinen Bildschirm wie diesen ist ebenfalls trivial. Zoomen und scrollen Sie durch die Spielkarte, und tippen Sie dann auf und Pfad!
Stephen Furlani
9

Ich weiß, dass dies nicht die nützlichste Antwort ist, aber wenn Sie ein Projekt nicht von einer anderen Plattform aus portieren, würde ich vorschlagen, es auf dem virtuellen D-Pad noch einmal zu überdenken. Die meisten Implementierungen von virtuellen D-Pads waren bestenfalls mangelhaft. Das Fehlen von taktilem Feedback macht sie zu einer mangelhaften Wahl für die Plattform.

Es ist weitaus besser, eine Benutzeroberfläche zu erstellen, die die Stärken der Plattform hervorhebt, als die Schwäche der Plattform herauszustellen.

wkerslake
quelle
Anscheinend antwortete Gareth genauso, wie ich das getippt habe. Hier gibt es nichts zu sehen ... mach weiter.
wkerslake
Ich bin froh zu sehen, dass ich damit nicht alleine bin!
Gareth Rees
3

Wie die anderen bereits gesagt haben, ist es am besten, ein Design zu entwickeln, das zur Umgebung passt, und nicht zu erzwingen, dass die Umgebung zu Ihrem Design passt. Wenn Sie sich jedoch an das D-Pad halten, können Sie dies folgendermaßen tun:

Wenn Sie sich den "Berührungspunkt" als Mauszeiger vorstellen, erstellen Sie im Grunde genommen einen "Hot Spot", der auf die Cursorbewegung reagiert.

Der beste / einfachste Weg, dies zu tun, ist meiner Meinung nach, ein halbtransparentes Kästchen oder einen halbtransparenten Kreis in einer der unteren Ecken zu erstellen, in denen der Spieler wahrscheinlich bereits einen Finger hat. Dann verfolgen Sie einfach die Position des Spielers relativ zur Mitte des Hotspots, und das ist Ihr Eingabe-Delta-Wert.

Sinenomen
quelle
Auf diese Weise lösen die meisten Spiele das scheinbare Problem mit dem D-Pad-Controller. Es ist allerdings nichts für Präzisionsplattformen.
Nagler
2

Ich sehe die meisten Leute hier, die ein D-Pad für eine schlechte Idee halten, und sie haben Recht - die meiste Zeit. Dungeon Hunter von Gameloft für Android ist ein großartiges Beispiel für ein großartiges D-Pad für Touchscreens. Es reagiert, hat eine 360-Grad-Richtung und ist nicht "dumm". Was ich damit meine, dass es nicht "dumm" ist, ist, dass, wenn Sie das D-Pad drücken und Ihren Finger aus dem D-Pad-Bereich herausziehen, es nicht mit dem interferiert, was auf dem Bildschirm passiert - es erstreckt sich nur. Wenn Sie also versehentlich aus dem D-Pad-Bereich herausrutschen, verlieren Sie keine Bewegung.

Ich denke, 360-Grad-Richtung und Reaktionsfreudigkeit außerhalb der Grenzen sind wichtig, und wenn Sie das können, haben Sie eine Chance, das D-Pad richtig zu machen.

Espen
quelle
1

Wenn Sie ein D-Pad implementieren möchten, ist es für mich am einfachsten, vier Rechtecke zu erstellen (eines für jede Richtung des D-Pads) und dann zu prüfen, ob die Berührungsposition innerhalb der Grenzen eines der Rechtecke liegt .

Wie die anderen sagten; Überlegen Sie zweimal, bevor Sie ein D-Pad auf einem Touchscreen implementieren. Andererseits habe ich schon Leute gesehen, die diese GBA-Emulatoren den ganzen Tag auf ihren iPhones gespielt haben.

Es liegt an Ihnen ... Können Sie uns sagen, was Sie mit einem simulierten D-Pad vorhaben?

HDgam3r
quelle