Registriert: Mo Sep 23, 2002 19:27 Beiträge: 5812
Programmiersprache: C++
Zitat:
MMRESULT joyGetPos( UINT uJoyID, LPJOYINFO pji );
Das Ergebnis ist also ein Resultflag. Die Struktur in der die Joystickinfos gespeichert werden sollen wird als Parameter übergeben. Steht doch alles in der Hilfe drin...
So, folgendes sos...
Aber auch an alle anderen Er gibt keinen Fehler mehr zurück, um Test habe ich halt mal nen breakpoint bei...
Code:
New(JoyInfo);
//JoyResult :=
JoyGetPos(16,@JoyInfo);
if JoyInfo^.wButtons= JOY_BUTTON1 then
begin
spieler.geschwindigkeit:= spieler.geschwindigkeit;//breakpoint (mir ist klar das diese
//Zeile nichts bewirkt *g*
end;
JoyInfo ist als JoyInfo: ^TJoyInfo declariert...
allerdings muss ich nen Fehler haben, habe mal mein Lenkrad angeschlossen.
Alle Tasten gedrückt und alle Achsen bewegt, doch es kam nichts... evtl. falschen Joystick angesteuert?
Folgendes...
declariation geändert (ohne ^)
und code folgendermaßen
JoyResult := JoyGetPos(JOYSTICKID1, @JoyInfo);
if JoyResult = 0 then
begin
if JoyInfo.wButtons = JOY_BUTTON1 then
begin
spieler.geschwindigkeit := spieler.geschwindigkeit;
end;
end;
Jetzt ist es wie bei deinem Spiel (T of D)
30 Frames!
Das kann ja net angehen oder? wenn ich davor noch bei 60lag, nie drunter... :-/
EDIT: und joyresult gibt mir 167 aus, was wohl nen error ist?!
Kann ich den wo nachlesen?
Registriert: Mo Sep 23, 2002 19:27 Beiträge: 5812
Programmiersprache: C++
Steht doch alles in der SDK-Hilfe (ich muss mich in letzter Zeit nervend oft wiederholen) zu JoyGetPos drin :
Zitat:
Return Values
Returns JOYERR_NOERROR if successful or one of the following error values:
MMSYSERR_NODRIVER The joystick driver is not present. MMSYSERR_INVALPARAM An invalid parameter was passed. JOYERR_UNPLUGGED The specified joystick is not connected to the system.
Also einfach JoyResult mit einem der obigen Werte (167 ist übrigens letzterer Wert) vergleichen. Ist also ein Fehler, solltest dann mal JoyGetPosEX probieren oder musst halt auf DInput umsteigen.
@FPS : Das ist normal, wenn du in jedem Frame den Joystick abfrägst und nen Fehler zurückgeliefert wird. Wenn die Eigenschaften des Sticks gepollt werden und nix zum Pollen da ist, dann bremst das logischerweise.
Ah, endlich... hab das irgendwie die ganze zeit net gepeilt... Danke!
Es geht Danke Danke Danke Nur doof das Bremse und Gas auf der gleichen Achse stehen, gut aber das ist ja net soo schlimm, halt ne Berechnung mehr Aber super!
EDIT:
Joa, sind die Werte bei jedem Lenkrad gleich?! also bis wohin die Achse geht?
zB. voll durchgedrückt... hat bei mir 32737 oder sowa.s..
Prinzipiell schon, da die Dinger in der Systemsteuerung konfiguriert werden - ansonsten kannst du ja selbst eine Kalibrierungsfunktion einbauen, wie es ja auch von manchen Spielen gemacht wird.
hallo!
hab zwar keine ahnung obs was hilft aber warum versuchst dus nicht mit der directinput komponente die bei delphix dabei ist?
geht echt gut und ist voll einfach!
muss es ja wenn sogar ich es geschaft habe!
Registriert: Mi Jul 17, 2002 12:07 Beiträge: 976 Wohnort: Tübingen
Ich hab nur noch ne kurze Anmerkung zu den Posts ganz am Anfang, wo noch GetAsyncKeyState verwendet wurde. Also bei mir lieferte eine gedrückte Taste immmer einen Wert <1 zurück (hat ganz schön gedauert, bis ich da draufgekommen bin )
Das lief bei mir eigentlich immer sehr gut, es wurden bis zu 5 Tasten gleichzeitig verarbeitet und es lief auch super auf anderen (älteren) PCs.
Wollte ich nur mal kurz sagen...
Ciao,
La_Boda
_________________ "Du musst ein Schwein sein in dieser Welt, sangen die Prinzen, das ist so 1.0. Du musst auf YouTube zeigen, dass dir dein Schweinsein gefällt, das ist leuchtendes, echtes Web 2.0." - Hal Faber Meine Homepage: http://laboda.delphigl.com
Mitglieder in diesem Forum: 0 Mitglieder und 8 Gäste
Du darfst keine neuen Themen in diesem Forum erstellen. Du darfst keine Antworten zu Themen in diesem Forum erstellen. Du darfst deine Beiträge in diesem Forum nicht ändern. Du darfst deine Beiträge in diesem Forum nicht löschen. Du darfst keine Dateianhänge in diesem Forum erstellen.