Code archives/Miscellaneous/MouseXSpeed() / MouseYSpeed()
This code has been declared by its author to be Public Domain code.
Download source code
| |||||
I miss simple pleasures like MouseXSpeed so I knocked this up. I'll be doing a few more things like this to make my life easier in BMax. EDIT: Just realized it's all integers so I took out all the Floats. | |||||
'MouseSpeed Setup Global MouseXSpeed:Int 'MouseXSpeed() Component Global MouseYSpeed:Int 'MouseYSpeed() Component Global CenterX:Int = GraphicsWidth() / 2 'Find CenterX Global CenterY:Int = GraphicsHeight() / 2 'Find CenterY MoveMouse CenterX,CenterY 'Move Mouse to Center of Screen Function MouseSpeed() Local XM:Int = MouseX() Local YM:Int = MouseY() MouseXSpeed = XM - CenterX MouseYSpeed = YM - CenterY MoveMouse CenterX,CenterY End Function |
Comments
| ||
Here's the test code to it. Hope someone finds this useful like me.'Test Program Graphics 800,600,0 include "MouseSpeed.bmx" Local x:Float Local y:Float While Not KeyHit(KEY_ESCAPE) Cls MouseSpeed() 'Call This Every Cycle 'Move a "+" around with MouseSpeed x=x+MouseXSpeed y=y+MouseYSpeed DrawText "+",x,y Flip Wend |
| ||
http://www.blitzbasic.com/Community/posts.php?topic=47133 |
| ||
Wish someone had put that in the archives like it should have been. :\ |
| ||
sorry, I never thought it was that useful to people. :\ |
| ||
This didn't work so I rewrote it. I don't know what Chroma was trying to do so I took a guess, it's a + that trails the mouse around. Uses code from here. http://www.blitzbasic.com/codearcs/codearcs.php?code=1933 ' Test 'Rem Graphics 640,480,0 Local mouse:TMouse = New TMouse While Not (KeyHit(KEY_ESCAPE) + AppTerminate()) Cls DrawText "+", mouse.Trailx, mouse.Traily ' draw mouse trail DrawText "Xspeed: " + mouse.XSpeed(), 10, 10 DrawText "Yspeed: " + mouse.YSpeed(), 10, 25 DrawText "Trailx: " + mouse.Trailx, 10, 40 DrawText "Traily: " + mouse.Traily, 10, 55 mouse.Update() Flip Wend 'EndRem ' Mouse Trail.bmx ' A modified version of TMouse type by GfK Type TMouse Field lastx:Int Field lasty:Int Field Trailx:Int Field Traily:Int Method New() ' init trail Trailx = GraphicsWidth() / 2 ' center of screen Traily = GraphicsHeight() / 2 MoveMouse(Trailx, Traily) ' center the mouse Trailx :+ 4 ' reposition below mouse pointer Traily :+ 22 lastx = MouseX() ' get new mouse position lasty = MouseY() End Method Method XSpeed:Int() ' was MouseXSpeed() Return MouseX() - lastx End Method Method YSpeed:Int() ' was MouseYSpeed() Return MouseY() - lasty End Method Method Update() Trailx :+ MouseX() - lastx Traily :+ MouseY() - lasty lastx = MouseX() lasty = MouseY() End Method End Type |
Code Archives Forum