Files |  Tutorials |  Articles |  Links |  Home |  Team |  Forum |  Wiki |  Impressum

Aktuelle Zeit: Do Jul 10, 2025 03:31

Foren-Übersicht » Programmierung » Einsteiger-Fragen
Unbeantwortete Themen | Aktive Themen



Ein neues Thema erstellen Auf das Thema antworten  [ 42 Beiträge ]  Gehe zu Seite Vorherige  1, 2, 3
Autor Nachricht
 Betreff des Beitrags:
BeitragVerfasst: Mi Apr 14, 2004 18:17 
Offline
DGL Member
Benutzeravatar

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...

_________________
www.SaschaWillems.de | GitHub | Twitter | GPU Datenbanken (Vulkan, GL, GLES)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do Apr 15, 2004 09:42 
Offline
DGL Member
Benutzeravatar

Registriert: Mo Okt 27, 2003 17:46
Beiträge: 788
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:
  1.   New(JoyInfo);
  2.     //JoyResult :=
  3.     JoyGetPos(16, @JoyInfo);
  4.     if JoyInfo^.wButtons = JOY_BUTTON1 then
  5.     begin
  6.       spieler.geschwindigkeit := spieler.geschwindigkeit;//breakpoint (mir ist klar das diese
  7. //Zeile nichts bewirkt *g*
  8.     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?


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do Apr 15, 2004 09:57 
Offline
DGL Member
Benutzeravatar

Registriert: Mo Sep 23, 2002 19:27
Beiträge: 5812
Programmiersprache: C++
Wieso übergibst du denn nen Zeiger auf nen Zeiger? Da hat wohl jemand bei der Zeigerthematik gepennt :

Code:
  1. var
  2.  JoyInfo : TJoyInfo;
  3. ...
  4. JoyGetPos(JOYSTICKID1, @JoyInfo);


P.S. : Warum übergibst du als ersten Parameter 16? JOYSTICKIDx beginnt doch bei 0. Ist das so schwer die SDK-Hilfe zu verstehn?

_________________
www.SaschaWillems.de | GitHub | Twitter | GPU Datenbanken (Vulkan, GL, GLES)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do Apr 15, 2004 10:23 
Offline
DGL Member
Benutzeravatar

Registriert: Mo Okt 27, 2003 17:46
Beiträge: 788
Ja, das war das einzigste wo kein fehler kam ^^ und bei JoyGetDev da, kam 16 raus, hab ich das mal probiert ^^


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do Apr 15, 2004 11:13 
Offline
DGL Member
Benutzeravatar

Registriert: Mo Okt 27, 2003 17:46
Beiträge: 788
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?


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do Apr 15, 2004 11:36 
Offline
DGL Member
Benutzeravatar

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.

_________________
www.SaschaWillems.de | GitHub | Twitter | GPU Datenbanken (Vulkan, GL, GLES)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do Apr 15, 2004 12:18 
Offline
DGL Member
Benutzeravatar

Registriert: Mo Okt 27, 2003 17:46
Beiträge: 788
Ah, endlich... hab das irgendwie die ganze zeit net gepeilt... Danke!
Es geht ;)
Danke Danke Danke :-P
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..


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo Apr 19, 2004 09:00 
Offline
DGL Member
Benutzeravatar

Registriert: Fr Dez 13, 2002 12:18
Beiträge: 1063
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.

_________________
Viel Spaß beim Programmieren,
Mars
http://www.basegraph.com/


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo Apr 19, 2004 14:34 
Offline
DGL Member

Registriert: Mi Mär 17, 2004 10:16
Beiträge: 22
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!


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo Apr 19, 2004 15:40 
Offline
DGL Member
Benutzeravatar

Registriert: Mo Okt 27, 2003 17:46
Beiträge: 788
Es geht ja alles (OK, für die Tastaturaubfrage, kann man es noch gebrauchen ;) ) Ja, wo bekomm ich die her?


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo Apr 19, 2004 15:56 
Offline
DGL Member

Registriert: Mi Mär 17, 2004 10:16
Beiträge: 22
http://www.yks.ne.jp/~hori/DelphiX-e.html
[/u]


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do Apr 22, 2004 10:55 
Offline
DGL Member
Benutzeravatar

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


Nach oben
 Profil  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 42 Beiträge ]  Gehe zu Seite Vorherige  1, 2, 3
Foren-Übersicht » Programmierung » Einsteiger-Fragen


Wer ist online?

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.

Suche nach:
Gehe zu:  
  Powered by phpBB® Forum Software © phpBB Group
Deutsche Übersetzung durch phpBB.de
[ Time : 0.011s | 14 Queries | GZIP : On ]