QB64.com

QB64 is a modern extended BASIC programming language that retains QBasic/QuickBASIC 4.5 compatibility and compiles native binaries for Windows, Linux, and macOS.

The _MOUSEMOVEMENTX function returns the relative horizontal position of the mouse cursor as positive or negative values.

Syntax

horizontalMove = _MOUSEMOVEMENTX

Example(s)

Since values returned are relative to the last position, the returns can be positive or negative.


SCREEN 12
PX = 320: PY = 240 'center position
DO: _LIMIT 200
  DO WHILE _MOUSEINPUT
    PX = PX + _MOUSEMOVEMENTX
    PY = PY + _MOUSEMOVEMENTY
  LOOP
  CLS
  CIRCLE (PX, PY), 10, 10
  LOCATE 1, 1: PRINT PX, PY
LOOP UNTIL INKEY$ = CHR$(27) 'escape key exit 

MOD is used to keep horizontal movement of the circle and cursor inside of the SCREEN 13 window(320).


SCREEN 13, , 1, 0
DO: _LIMIT 200
  DO WHILE _MOUSEINPUT
    x = x + _MOUSEMOVEMENTX
    y = y + _MOUSEMOVEMENTY
  LOOP
  x = (x + 320) MOD 320 'keeps object on screen
  y = (y + 200) MOD 200 'remove if off screen moves are desired
  CLS
  CIRCLE (x, y), 20
  PCOPY 1, 0
LOOP UNTIL INKEY$ <> "" 'press any key to exit 

NOTE: When using the function this way, give the user a keypress exit option. Make sure the user has some way to exit that is not dependent on clicking the X button.

See Also