72 lines
1.6 KiB
Text
72 lines
1.6 KiB
Text
'disable text window
|
|
nomainwin
|
|
|
|
'set window size
|
|
WindowWidth = 308
|
|
WindowHeight = 331
|
|
|
|
'center window on screen
|
|
UpperLeftX = int((DisplayWidth-WindowWidth)/2)
|
|
UpperLeftY = int((DisplayHeight-WindowHeight)/2)
|
|
|
|
'open graphics window
|
|
open "Joystick Position" for graphics_nf_nsb as #m
|
|
|
|
'trap window closing
|
|
#m "trapclose [quit]"
|
|
|
|
'put pen down
|
|
#m "down"
|
|
|
|
'get center of graphics window
|
|
#m "home"
|
|
#m "posxy CenterX CenterY"
|
|
|
|
'draw sprite for crosshair
|
|
#m "backcolor black; color black"
|
|
#m "place 0 20;boxfilled 20 40"
|
|
#m "line 0 10 20 10"
|
|
#m "line 10 0 10 20"
|
|
#m "place 10 10; circle 10"
|
|
#m "backcolor white; color red"
|
|
#m "line 0 30 20 30"
|
|
#m "line 10 20 10 40"
|
|
#m "place 10 30; circle 10"
|
|
#m "flush"
|
|
|
|
'get sprite image
|
|
#m "getbmp plus 0 0 20 40"
|
|
#m "cls"
|
|
|
|
'create sprite from image
|
|
#m "addsprite crosshair plus"
|
|
#m "centersprite crosshair"
|
|
#m "spritexy crosshair "; CenterX; " "; CenterY
|
|
#m "drawsprites"
|
|
|
|
'check joystick every 100 milliseconds
|
|
timer 100, [CheckJoystick]
|
|
wait
|
|
|
|
[CheckJoystick]
|
|
readjoystick 1
|
|
|
|
'calculate crosshair position
|
|
PosX = int(CenterX*Joy1x/32767)
|
|
PosY = int(CenterY*Joy1y/32767)
|
|
|
|
'update crosshair position
|
|
#m "spritexy crosshair "; PosX; " "; PosY
|
|
#m "drawsprites"
|
|
|
|
'display button information
|
|
if Joy1button1 > 0 then #m "place 0 0;\\Button 1 pressed"
|
|
if Joy1button2 > 0 then #m "place 0 0;\\\Button 2 pressed"
|
|
|
|
wait
|
|
|
|
[quit]
|
|
timer 0
|
|
close #m
|
|
unloadbmp "plus"
|
|
end
|