Joystick
Joystick
Hallo Leute,
ich war auf der Suche nach alternativen zu den Joystick-Befehlen von Purebasic und habe auch das ein oder andere Beispiel gefunden wie ich die WinAPI stattdessen verwende.
Jetzt habe noch Fragen zum Thema Joystick und WinAPI:
Mein JoyPad liefert mir für die X- und Y-Achsen jeweils Werte von 0 - 65535 zurück. Ist das ein festgelegter Bereich oder ist das für jeden Joystick anders? Falls ja müsste ich wohl zu Beginn eine Joystick-Kalibrierung durchführen lassen.
Was liefert wohl ein Digitaler Joystick zurück? Also z.B. ein Gamepad ohne Analogstick? Gibt es da dann nur noch -1, 0 und 1 wie bei Purebasic?
Zu den Purebasic-Joystickbefehlen noch eine Frage: Funktionieren die auch auf Mac?
Vielleicht könnt Ihr mir ja weiterhelfen?
Danke.
ich war auf der Suche nach alternativen zu den Joystick-Befehlen von Purebasic und habe auch das ein oder andere Beispiel gefunden wie ich die WinAPI stattdessen verwende.
Jetzt habe noch Fragen zum Thema Joystick und WinAPI:
Mein JoyPad liefert mir für die X- und Y-Achsen jeweils Werte von 0 - 65535 zurück. Ist das ein festgelegter Bereich oder ist das für jeden Joystick anders? Falls ja müsste ich wohl zu Beginn eine Joystick-Kalibrierung durchführen lassen.
Was liefert wohl ein Digitaler Joystick zurück? Also z.B. ein Gamepad ohne Analogstick? Gibt es da dann nur noch -1, 0 und 1 wie bei Purebasic?
Zu den Purebasic-Joystickbefehlen noch eine Frage: Funktionieren die auch auf Mac?
Vielleicht könnt Ihr mir ja weiterhelfen?
Danke.
Re: Joystick
Ja genau ein Digitaler Joy liefert nur 0 oder 1.derRaab hat geschrieben:...
Was liefert wohl ein Digitaler Joystick zurück? Also z.B. ein Gamepad ohne Analogstick? Gibt es da dann nur noch -1, 0 und 1 wie bei Purebasic?
....
0 = nix passiert
1 = es passiert was (also z.b. es wird ein knopf gedrückt)
Gruß,
Nico
@nicolaus: Das mit 0 und 1 gilt aber nur für Buttons und nicht für die Joysticks, oder? Da muß ich ja schon wissen ob links, mitte oder rechts z.B.
@Ypser: Tatsächlich habe ich schon ein schönes Beispiel auf PureArea gefunden. Trotzdem vielen Dank für den Tipp.
Die Fragen zu den X- und Y-Werte bis 65535 und zum Digitaljoystick würde ich gerne noch klären.
@Ypser: Tatsächlich habe ich schon ein schönes Beispiel auf PureArea gefunden. Trotzdem vielen Dank für den Tipp.
Die Fragen zu den X- und Y-Werte bis 65535 und zum Digitaljoystick würde ich gerne noch klären.

Also ich weiß nicht
Ein digitales Pad gibt genau das gleiche zurück wie die Analogen Sticks.
Ein Beispiel:
Ein Drehwiederstand an einem JoyStick, der die Werte -255 bis + 255 zurückliefert. Null ist nicht positiv, sondern neutral.
Und das D Pad liefert nur -255 und +255 zurück.
Das macht aber der Treiber, soweit ich weiß bzw. früher gab es auch extra Chips in den Controllern, damit sie unter DOS funktionieren.
Die haben dann die Zustände ausgegeben.
Und bei einem Analogen Stick ist eh ein AD-Wandler drin, der den Widerstand in digitale Zahlen wandeln muss.
Deshalb dürfte es keine Rolle spielen, was man da benutzt.
Kleiner Hinweis: Dafür gibt es die Kalibration und die Deadzone.
Wenn der User also den Maximalen Wert erreicht hat und das 1 sein sollte, dann okay. Dann muss das Spiel es eben so hinnehmen.
Da gleiche wäre bei einem verkeimten JoyStick, der sich nicht mehr richtig bewegen lässt

Ein Beispiel:
Ein Drehwiederstand an einem JoyStick, der die Werte -255 bis + 255 zurückliefert. Null ist nicht positiv, sondern neutral.
Und das D Pad liefert nur -255 und +255 zurück.
Das macht aber der Treiber, soweit ich weiß bzw. früher gab es auch extra Chips in den Controllern, damit sie unter DOS funktionieren.
Die haben dann die Zustände ausgegeben.
Und bei einem Analogen Stick ist eh ein AD-Wandler drin, der den Widerstand in digitale Zahlen wandeln muss.
Deshalb dürfte es keine Rolle spielen, was man da benutzt.
Kleiner Hinweis: Dafür gibt es die Kalibration und die Deadzone.
Wenn der User also den Maximalen Wert erreicht hat und das 1 sein sollte, dann okay. Dann muss das Spiel es eben so hinnehmen.
Da gleiche wäre bei einem verkeimten JoyStick, der sich nicht mehr richtig bewegen lässt


Kinder an die Macht http://scratch.mit.edu/
Es ist ganz einfach:
Das System ist folgender Maßen:
Knöpfe und Achsen.
ein Knopf kann nur 0|1 (Gedrückt oder nicht)
Eine Achse kann sagen wir ein WORD oder so wiedergeben.
Genau wie Minen in Stiften, oder die Maus.
X und Y sind variierbar, aber Mausknopf kann nur gedrückt sein oder nicht.
Die Schubkontrolle ist also eine Achse.
Man muss nur herausbekommen wieviele Achsen ein Device hat.
Ein D-PAD kann als 4/8 Knöpfe definiert sein oder als Achse.
Je nach Hersteller. Deshalb gibt es auch bei den meisten guten Spielen immer eine Tastenbelegungsmöglichkeit.
Ich kenne mich mit den Treibern nicht genauer aus, kann mir aber vorstellen, dass man jeden Knopf eines Pads/Sticks so definieren kann:
- ID
- MaxWert
- NullStellung
- MinWert
- Wert
Tasten hätten dann nur 0 und 1 oder halt einen definierten MaxWert.
Schubkontrolle kann aber auch wie ein Mausrad funktionieren, immer abhängig von der Hardware.
>> Was wir so oder so brauchen wäre:
http://www.purebasic.fr/german/viewtopi ... 3&start=10
Wer macht mit und wer kann helfen?
Das System ist folgender Maßen:
Knöpfe und Achsen.
ein Knopf kann nur 0|1 (Gedrückt oder nicht)
Eine Achse kann sagen wir ein WORD oder so wiedergeben.
Genau wie Minen in Stiften, oder die Maus.
X und Y sind variierbar, aber Mausknopf kann nur gedrückt sein oder nicht.
Die Schubkontrolle ist also eine Achse.
Man muss nur herausbekommen wieviele Achsen ein Device hat.
Ein D-PAD kann als 4/8 Knöpfe definiert sein oder als Achse.
Je nach Hersteller. Deshalb gibt es auch bei den meisten guten Spielen immer eine Tastenbelegungsmöglichkeit.
Ich kenne mich mit den Treibern nicht genauer aus, kann mir aber vorstellen, dass man jeden Knopf eines Pads/Sticks so definieren kann:
- ID
- MaxWert
- NullStellung
- MinWert
- Wert
Tasten hätten dann nur 0 und 1 oder halt einen definierten MaxWert.
Schubkontrolle kann aber auch wie ein Mausrad funktionieren, immer abhängig von der Hardware.
>> Was wir so oder so brauchen wäre:
http://www.purebasic.fr/german/viewtopi ... 3&start=10
Wer macht mit und wer kann helfen?

Kinder an die Macht http://scratch.mit.edu/
-
- Beiträge: 17389
- Registriert: 10.11.2004 03:22
völlig richtig.TomS hat geschrieben:Es gibt ja Sticks, die haben so einen Schieberegler um z.B den Schub von einem Flugzeug zu steuern. Kann man den auch irgendwie abfragen?
anständige moderne joysticks haben 4(!) achsen.
es ist vielleicht 7 jahre her, dass ich mir den letzten sidewinder gekauft hab,
und ich nehme nicht an, dass sie die achsen reduziert haben.
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Der Weise weiß, dass er ein Narr ist.