Skip to main content

  | मौसम…

411 समाचार
Public archive edition · Attributed source reporting with original dates · AI drafts are excluded

411 REFERENCE · Wikibooks

BlitzMax/Modules/User input/Joystick

Reference material by Wikibooks contributors. This retains its source identity and is not 411 news reporting.

The BlitzMax freejoy module contains commands that report the status of any joysticks and game controllers connected to the system. Functions JoyCount Function JoyCount() Description: Counts the number of joysticks. Returns: The number of joysticks and gamecontrollers connected to the system. Example: ' testjoy.bmx Import Pub.FreeJoy Strict If Not JoyCount() RuntimeError "No joystick found!" Graphics 640,480 Function drawprop(n$,p#,y) Local w DrawText n$,0,y w=Abs(p)*256 If p<0 DrawRect 320-w,y,w,16 Else DrawRect 320,y,w,16 EndIf End Function Local t=0 While Not KeyHit(KEY_ESCAPE) Cls SetColor 255,255,255 Local n=JoyCount() DrawText "joycount="+n,0,0 DrawText "JoyName(0)="+JoyName(0),0,20 DrawText "JoyButtonCaps(0)="+Bin$(JoyButtonCaps(0)),0,40 DrawText "JoyAxisCaps(0)="+Bin$(JoyAxisCaps(0)),0,60 For Local i=0 To 31 SetColor 255,255,255 If JoyDown(i) SetColor 255,0,0 DrawOval i*16,80,14,14 Next SetColor 255,255,0 drawprop "JoyX=",JoyX(0),100 drawprop "JoyY:",JoyY(0),120 drawprop "JoyZ:",JoyZ(0),140 drawprop "JoyR:",JoyR(0),160 drawprop "JoyU:",JoyU(0),180 drawprop "JoyV:",JoyV(0),200 drawprop "JoyHat:",JoyHat(0),220 drawprop "JoyWheel:",JoyWheel(0),240 DrawRect 0,280,t,10 t=(t+1)&511 Flip Wend End JoyButtonCaps Function JoyButtonCaps(port) Description: Available buttons (on/off controls) on a joystick. Returns: A bitfield representing which buttons are present. JoyAxisCaps Function JoyAxisCaps(port) Description: Available axis (proportional controls) on a joystick. Returns: A bitfield representing which axis are available. Information: The bit positions of the returned value correspond to the following constants defined in the FreeJoy module: Const JOY_X=0 Const JOY_Y=1 Const JOY_Z=2 Const JOY_R=3 Const JOY_U=4 Const JOY_V=5 Const JOY_YAW=6 Const JOY_PITCH=7 Const JOY_ROLL=8 Const JOY_HAT=9 Const JOY_WHEEL=10 JoyName Function JoyName$(port) Description: Get the name of the joysticks connected to the specified port. Returns: The system name of the joystick. JoyDown Function JoyDown( button,port=0 ) Description: Test the status of a joystick button. Returns: True if the button is pressed. JoyHit Function JoyHit( button,port=0 ) Description: Check for a joystick button press Returns: Number of times button has been hit. Information: The returned value represents the number of the times button has been hit since the last call to JoyHit with the same specified button. JoyX Function JoyX#( port=0 ) Description: Reports the horizontal position of the joystick. Returns: Zero if the joystick is centered, -1 if Left, 1 if Right or a value in between. JoyY Function JoyY#( port=0 ) Description: Reports the vertical position of the joystick. Returns: Zero if the joystick is centered, -1.0 if Up, 1.0 if Down or a value in between. JoyZ Function JoyZ#( port=0 ) Description: Reports the position of the joystick's Z axis if supported. Returns: Zero if the joystick is centered, -1.0 if Up, 1.0 if Down or a value in between. JoyR Function JoyR#( port=0 ) Description: Reports the position of the joystick's R axis if supported. Returns: Zero if the joystick is centered, -1.0 if Up, 1.0 if Down or a value in between. JoyU Function JoyU#( port=0 ) Description: Reports the position of the joystick's U axis if supported. Returns: Zero if the joystick is centered, -1.0 if Up, 1.0 if Down or a value in between. Information: The U value of a joystick usually corresponds to a joystick's 'slider' or 'throttle' feature, although this may vary depending on the joystick, and will not be available with all joysticks. JoyV Function JoyV#( port=0 ) Description: Reports the position of the joystick's V axis if supported. Returns: Zero if the joystick is centered, -1.0 if Up, 1.0 if Down or a value in between. Information: The V value of a joystick usually corresponds to a joystick's 'slider' or 'throttle' feature, although this may vary depending on the joystick, and will not be available with all joysticks. JoyYaw Function JoyYaw#( port=0 ) Description: Reports the position of the joystick's YAW axis if supported. Returns: Zero if the joystick is centered, -1.0 if Up, 1.0 if Down or a value in between. JoyPitch Function JoyPitch#( port=0 ) Description: Reports the position of the joystick's PITCH axis if supported. Returns: Zero if the joystick is centered, -1.0 if Up, 1.0 if Down or a value in between. JoyRoll Function JoyRoll#( port=0 ) Description: Reports the position of the joystick's ROLL axis if supported. Returns: Zero if the joystick is centered, -1.0 if Up, 1.0 if Down or a value in between. JoyHat Function JoyHat#( port=0 ) Description: Reports the position of the joystick's HAT controller if supported. Returns: -1.0 if the joystick is centered, and values between 0.0, 0.25, 0.5 and 0.75 for the directions Up, Right, Down, Left respectively. JoyWheel Function JoyWheel#( port=0 ) Description: Reports the position of the joystick's WHEEL controller if supported. Returns: Zero if the joystick is centered, -1.0 if Left, 1.0 if Right or a value in between. FlushJoy Function FlushJoy( port_mask=~0 ) Description: Flush joystick button states.