Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

BlazeX

Alter Hase

  • »BlazeX« ist der Autor dieses Themas

Beiträge: 478

Wohnort: DD

Beruf: Maschinenbau-Student

  • Private Nachricht senden

11

05.05.2010, 16:53

Danke für die eure Antworten und Erfahrungen.
Da ich meine Grafik-Engine auf Direct3D11 aufgebaut habe, und ich keinen wirklichen Grund sehe das Ding plattformunabhängig zu machen (bitte keine Diskussionen!), bleibe ich bei MS-Systemen mit Vista und D3D10-Graka.

DirectInput ist sehr "bewährt" unter den Gamesproggern. Dadurch gibt es eine Menge Tutorials zum Thema, nicht zuletzt Davids Buch.
Einen InputManager schreibe ich auf jeden Fall und da kann ich weiteren Overhead wie OIS nicht wirklich gebrauchen. Klar hat OIS seine Vorteile mit der Plattformunabhängigkeit und der Objektorientierung, aber das brauche ich nicht.

Die Windows-Messages sind eine feine Sache und mein CEGUI Wrapper ist vollkommen auf sie abgestimmt. Bei einer GUI brauch ich nicht mehr als Tastatur und Maus.

Anders soll es beim "Controlling" sein. Da sind Joysticks erwünscht. Außerdem ist es egal woher welcher Knopf (Prinzip der "Analogen Knöpfe" von David) kommt. Alle werden gleich behandelt. Egal ob Tastatur, Joystick oder umfunktionierte Kaffeemachine. Einzige Bedingung ist: 1 Tastatur, 1 Maus, n Gamecontroller (der ganze Rest, was halt nicht Primär-Tastatur und nicht Primär-Maus ist). Das macht die Indizierung der Knöpfe einfacher.
Am Ende hat man also eine riesige Liste mit Knöpfen, von denen jeder eine "Action" erhalten kann. Das Prinzip gibt es schon in DirectInput, wird aber seit Vista nicht mehr unterstützt.
Damit kann man zum Beispiel mit einem Joystick lenken und mit dem Gaspedal beschleunigen.

Eine Frage hätte ich da noch. Welchen "Virtual Key Code" (nicht den Scan-Code!) hat diese Taste unter Escape? Bild im Anhang.
»BlazeX« hat folgendes Bild angehängt:
  • layout.jpg

GR-PA

Treue Seele

Beiträge: 326

Wohnort: Daheim

Beruf: Faulenzer

  • Private Nachricht senden

12

05.05.2010, 21:37

Signaturen werden überbewertet

dot

Supermoderator

Beiträge: 9 757

Wohnort: Graz

  • Private Nachricht senden

13

06.05.2010, 10:58

Ich würde dir zu Windows Nachrichten bzw Raw Input raten. Microsoft selbst rät davon ab DirectInput noch für irgendwas außer Joysticks zu benutzen...

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »dot« (06.05.2010, 11:11)


Helmut

5x Contest-Sieger

Beiträge: 692

Wohnort: Bielefeld

  • Private Nachricht senden

14

06.05.2010, 21:57

Dass man mit der Win32 API nicht auf Joisticks zugreifen kann ist ein Gerücht. Das ist damit sehr wohl möglich, und zwar wesentlich einfacher als mit DI.
Ich versteh wirklich nicht, wie man zu DI raten kann, allein beim Anblick des Interfaces muss man doch fast kotzen;) Der einzige Vorteil, der mir von DI spontan einfällt, ist, dass man theoretisch mehrere Mäuse und Tastaturen einzeln ansprechen kann. Ob das aber noch praktisch funktioniert ist eine andere Frage :)

Ciao
Sei stets geduldig gegenüber Leuten, die nicht mit dir übereinstimmen. Sie haben ein Recht auf ihren Standpunkt - trotz ihrer lächerlichen Meinung. (F. Hollaender)

15

07.05.2010, 16:21

Hmm und was verwendet man dann unter Linux/MacOS? Da gibts ja keine Windows Nachrichten logischerweise ^^

Nox

Supermoderator

Beiträge: 5 272

Beruf: Student

  • Private Nachricht senden

16

07.05.2010, 17:07

z.B. OIS? ;) kA worauf die genau aufbaut. Aber hey das interessiert mich eig als "nutzer" einer lib weniger. Hauptsache sie funktioniert und die lizenz passt :) .
PRO Lernkurs "Wie benutze ich eine Doku richtig"!
CONTRA lasst mal die anderen machen!
networklibbenc - Netzwerklibs im Vergleich | syncsys - Netzwerk lib (MMO-ready) | Schleichfahrt Remake | Firegalaxy | Sammelsurium rund um FPGA&Co.

Black-Panther

Alter Hase

Beiträge: 1 443

Wohnort: Innsbruck

  • Private Nachricht senden

17

07.05.2010, 17:15

Meine Rede! Ich versteh sowieso nicht, warum man etwas ändern sollte, wenns funktioniert. Solange ich mir von einem Wechsel keine Vorteile verspreche: Never change a running system.
stillalive studios
Drone Swarm (32.000 Dronen gleichzeitig steuern!)
facebook, twitter

18

07.05.2010, 18:44

OIS kenn ich von Ogre her noch ^^ Mich hätte es halt interessiert weil ich möglichst viel selber machen will (aus Interesse nich weil ich meine ich könnte es besser machen xD)

dot

Supermoderator

Beiträge: 9 757

Wohnort: Graz

  • Private Nachricht senden

19

08.05.2010, 15:39

Dass man mit der Win32 API nicht auf Joisticks zugreifen kann ist ein Gerücht.

Hab ich auch nicht behauptet ;)
Lediglich was z.B. Force Feedback angeht wirds mit reiner WinAPI wohl eher schwierig...

Der einzige Vorteil, der mir von DI spontan einfällt, ist, dass man theoretisch mehrere Mäuse und Tastaturen einzeln ansprechen kann.

Das kann man mit der WinAPI auch ;)

Werbeanzeige