mirror of
https://github.com/QB64-Phoenix-Edition/QB64pe.git
synced 2024-07-26 06:15:52 +00:00
6e01fc8dce
Added new _STRCMP and _STRICMP commands for quick string comparisons. Cleaned up QB64 to finish removing the QUI (quick user insert) code and folders. Altered UCASE and LCASE routines to be faster in some situations for us.
50 lines
2 KiB
Plaintext
50 lines
2 KiB
Plaintext
The '''_BUTTONCHANGE''' function returns -1 or 1 when a specified button number on a controller device has been pressed or released.
|
|
|
|
|
|
{{PageSyntax}}
|
|
::: press = _BUTTONCHANGE(''button_number%'')
|
|
|
|
|
|
* Values returned are -1 for a press and 1 when a button is released. No press or release event returns zero.
|
|
* The ''button_number'' must be a number which does not exceed the number of buttons found by the [[_LASTBUTTON]] function.
|
|
* '''The number of [[_DEVICES]] MUST be read before using [[_DEVICE$]], [[_DEVICEINPUT]] or [[_LASTBUTTON]]!'''
|
|
* '''Note:''' The center mouse button is button number 2. Center can also be read using [[_MOUSEBUTTON]](3).
|
|
|
|
|
|
''Example:'' Reading multiple controller device buttons, axis and wheels.
|
|
{{CodeStart}} '' ''
|
|
{{Cl|FOR...NEXT|FOR}} i = 1 {{Cl|TO}} {{Cl|_DEVICES}}
|
|
{{Cl|PRINT}} {{Cl|STR$}}(i) + ") " + {{Cl|_DEVICE$}}(i) + " Buttons:"; {{Cl|_LASTBUTTON}}(i); ",Axis:"; {{Cl|_LASTAXIS}}(i); ",Wheel:"; {{Cl|_LASTWHEEL}}(i)
|
|
{{Cl|NEXT}}
|
|
|
|
{{Cl|DO...LOOP|DO}}
|
|
d& = {{Cl|_DEVICEINPUT}}
|
|
{{Cl|IF...THEN|IF}} d& {{Cl|THEN}} ' the device number cannot be zero!
|
|
{{Cl|PRINT}} "Found"; d&;
|
|
{{Cl|FOR...NEXT|FOR}} b = 1 {{Cl|TO}} {{Cl|_LASTBUTTON}}(d&)
|
|
{{Cl|PRINT}} {{Cl|_BUTTONCHANGE}}(b); {{Cl|_BUTTON}}(b);
|
|
{{Cl|NEXT}}
|
|
{{Cl|FOR...NEXT|FOR}} a = 1 {{Cl|TO}} {{Cl|_LASTAXIS}}(d&)
|
|
{{Cl|PRINT}} {{Cl|_AXIS}}(a);
|
|
{{Cl|NEXT}}
|
|
{{Cl|FOR...NEXT|FOR}} w = 1 {{Cl|TO}} {{Cl|_LASTWHEEL}}(d&)
|
|
{{Cl|PRINT}} {{Cl|_WHEEL}}(w);
|
|
{{Cl|NEXT}}
|
|
{{Cl|PRINT}}
|
|
{{Cl|END IF}}
|
|
{{Cl|LOOP}} {{Cl|UNTIL}} {{Cl|INKEY$}} = {{Cl|CHR$}}(27) 'escape key exit
|
|
|
|
{{Cl|END}} '' ''
|
|
{{CodeEnd}}
|
|
: ''Note:'' When there is no device control to read, a [[FOR...NEXT|FOR]] n = 1 TO 0 loop will not run thus avoiding a control function read error.
|
|
|
|
|
|
''See also:''
|
|
* [[_LASTWHEEL]], [[_LASTBUTTON]], [[_LASTAXIS]]
|
|
* [[_AXIS]], [[_WHEEL]], [[_BUTTON]]
|
|
* [[_DEVICE$]], [[_DEVICES]]
|
|
* [[_MOUSEBUTTON]]
|
|
* [[Controller Devices]]
|
|
|
|
|
|
{{PageNavigation}} |