Steuerung per Joystick /Gamepad

Posted By: Det

Steuerung per Joystick /Gamepad - 01/02/11 22:52

Hallo !

Wie kann man erreichen das man das Steuerkreuz eines Gamepads für die richtungen oben unten rechts links abfragen kann ?

Für die Knöpfe benutzt man ja joy_1 joy_2 usw. Aber wie funktioniert das mit den richtungen für das Steuerkreuz? Habe schon alles mögliche versucht das mit den Knöpfen klappt gut nur nicht mit den richtungen vom Steuerkreuz des Gamepads.Hat jemand ein beispiel in WDL ?
Posted By: Jog

Re: Steuerung per Joystick /Gamepad - 01/03/11 14:10

Gugst du Manual

joy_force
Position des Joysticks in vertikaler und horizontaler Richtung, skaliert auf -2.0 ... +2.0. Die Position bei Start der Anwendung entspricht der Nullstellung.
Bereich
-2.0 ... +2.0
Typ:
VECTOR*, read-only
Beispiel:
function maus_entkill()
{
if(num_joysticks > 0) // Joystick vorhanden
{
while(1)
{
my.pan += joy_force.x * time; // Stärke der Joystickbewegung verändert PAN
my.tilt += joy_force.y * time; // Stärke der Joystickbewegung verändert TILT
wait(1);
}
}
}
Siehe auch:
joy_raw, joy2_raw, joy_rot , joy2_rot, joy_1 .. joy_10, joy2_1 .. joy2_10, num_joysticks
Posted By: Det

Re: Steuerung per Joystick /Gamepad - 01/03/11 20:04

So weit war ich gestern schon habe auch ins Handbuch geschaut.Das was dabei raus kam ist das sich das Model jetzt zwar nach rechts und links bewegt aber das wars dann auch. Wenn ich aber anstatt joy_force durch ein joy_4 oder 5 6 7 8 ersetze dann läuft das Model in die gewünschte richtung.Mit dem joyforce aber nicht auch nicht mit my_pan ..... Die richtungen wie oben unten links rechts funtionieren nur mit dem joy_1 joy_2 Befehl und immer noch nicht mit dem Steuerkreuz . kein plan warum.

Siehe Code Auszug :

function maus_entkill()
{
if(num_joysticks > 0) // Joystick vorhanden
{
while(1)
{
my.pan += joy_force.x * time; // Stärke der Joystickbewegung verändert PAN
my.tilt += joy_force.y * time; // Stärke der Joystickbewegung verändert TILT
wait(1);
}
}
}



function player_controls()
{
//reset axes:
my._up_down_axis = 0;
my._left_right_axis = 0;
my.pan +=joy_force.x+time; // eingefügt
if(joy_8 == 1) //nach oben
{my._up_down_axis = _up;}
my.pan +=joy_force.y+time; // eingefügt
if(joy_force.x == 1) //nach unten
{my._up_down_axis = _down;}
if(joy_rot.y == 1) ///links
{my._left_right_axis = _left;}
if(joy_force.z == 1) //rechts
{my._left_right_axis = _right;}
if(joy_2 == 1)
{my._run_bttn = 1;}

wie gesagt das Model lässt sich zwar mit dem Steuerkreuz nach links und nach rechts drehen und um sich selbst.Aber eigentlich sollte das Model in die entsprechenden richtungen laufen können.

Posted By: Jog

Re: Steuerung per Joystick /Gamepad - 01/06/11 16:39

Hi

Must auch sowas wie dieses einfügen.
z.b.

var distance = (joy_force.x +joy_force.y) *5*time_step;
c_move(me, vector(distance,0,0), NULL, GLIDE);

Dann läuft er vor und rückwerts mit dem Joy.
Posted By: Det

Re: Steuerung per Joystick /Gamepad - 01/06/11 19:34

Habe das mal so eingefügt dann kommen diese Fehlermeldungen

var distance = (joy_force.x+joy_force.y) *5time_step

Error 1 too much/less Parameter + joy_force.x

Error 0 c_move(me,vector(distance,0,0,Null,Glide

Missing/Wrong Parameter comma unexpectet
Posted By: Widi

Re: Steuerung per Joystick /Gamepad - 01/06/11 19:54

Da fehlt ein multiplikationszeichen zwischen "5" und "time_step". Am ende der zeile fehlt der strichpunkt. Beim zweiten error fehlt die schliessende klammer und auch der strichpunkt.

EDIT: soviel ich weiss verwendet c script kein c_move. suche nach ent_move im manual...
Posted By: Det

Re: Steuerung per Joystick /Gamepad - 01/06/11 21:01

Ok Danke ich versuche es mal mal sehen ob es was bringt .Mit en_move kommen auch wieder Fehlermeldungen .Ich habe eine joystick Dll aber ich habe keine Ahnung wie man Sie aktiviert so das der PC die Dll benutzen kann
Posted By: Jog

Re: Steuerung per Joystick /Gamepad - 01/07/11 10:43

Hi
Das Beispiel funktioniert nur mit lite_c nicht mit c-skript.
Am besten lädst du dir den Workshop lite_c runter und schaust dir den workshop15:der Joystick an.
Dort ist das Prinzip erklärt. Allerdings in lite_c, wenn du das Prinzip verstanden hast kannst du es ja nach C-Skript übertragen.
Hier der Link.
http://server.conitec.net/down/litec_d.zip

Posted By: Det

Re: Steuerung per Joystick /Gamepad - 01/07/11 18:57

Hi Danke werde mal sehen was sich daraus machen lässt.
Posted By: tagimbul

Re: Steuerung per Joystick /Gamepad - 04/04/14 14:07

hei.

ein gamepad hat ja 2 analoge stick's

der erste (links) ist joy_force x und y

aber wie heist der rechte ?!?!

http://img.driver-downloader.com/logitech-rumblepad-driver-1.jpeg
Posted By: Kartoffel

Re: Steuerung per Joystick /Gamepad - 04/04/14 15:38

ähm müsste was mit raw und rot sein.

edit: hier

(kann aber auch sein dass das nicht stimmt...)
Posted By: tagimbul

Re: Steuerung per Joystick /Gamepad - 04/04/14 15:57

ja

joy_raw.z ist die Y achse

doch welche ist die X achse?

habe alle joy achsen getestet ...
es kann doch nciht sein das dass nich funktioniert :S
Posted By: tagimbul

Re: Steuerung per Joystick /Gamepad - 04/04/14 17:08

kann ich dem gamestudio einen neuen input verpassen?

also ein joy2_force reinprogrammieren?
Posted By: tagimbul

Re: Steuerung per Joystick /Gamepad - 04/04/14 20:52

normales game pad mit 2 analog sticks

linker stick = joy_force.x und joy_force.y
rechter stick = joy_raw.z

joy_raw.z = eine Y achse des rechten sticks

wo ist die X achse des rechten stick's ?
Posted By: Superku

Re: Steuerung per Joystick /Gamepad - 04/04/14 22:45

Code:
void main()
{
	fps_max = 60;
	while(1)
	{
		DEBUG_VAR(joy_force.x,20);
		DEBUG_VAR(joy_force.y,40);
		DEBUG_VAR(joy_raw.x,60);
		DEBUG_VAR(joy_raw.y,80);
		DEBUG_VAR(joy_raw.z,100);
		DEBUG_VAR(joy_rot.x,120);
		DEBUG_VAR(joy_rot.y,140);
		DEBUG_VAR(joy_rot.z,160);
		wait(1);
	}
}


Rechter Joystick durch joy_raw.z und joy_rot.x gegeben.
Posted By: tagimbul

Re: Steuerung per Joystick /Gamepad - 04/04/14 23:02

ich könnte dich knutschen <3

danke vielmal

joy_rot.x wird so im handbuch nicht angegeben smirk

nochmal 1000 dank grin
© 2024 lite-C Forums