rotate image using mouse
BlitzMax Forums/BlitzMax Programming/rotate image using mouse
| ||
Could someone tell me how to rotate an image using the mouse please? I found a note saying that you could use ATAN2 to do this but I can only get it to allow rotation between 0 and 90 degrees, as in this text example:Graphics 800,600 SetColor 255,255,255 SetOrigin(GraphicsWidth()/2,GraphicsHeight()/2) HideMouse() Local varx : Float Repeat SetRotation ATan2(MouseY(),MouseX()) varx = GetRotation() DrawText "rotation = " + String(varx), 10,10 Flip Cls Until KeyHit(key_escape) = 1 Many thanks, Tim |
| ||
| Graphics 800,600 SetColor 255,255,255 'SetOrigin(GraphicsWidth()/2,GraphicsHeight()/2) HideMouse() Local varx : Float Repeat SetRotation ATan2((MouseY()-GraphicsWidth()/2), MouseX()-(GraphicsHeight()/2)) varx = GetRotation() DrawText "rotation = " + String(varx), GraphicsWidth()/2,GraphicsHeight()/2 Flip Cls Until KeyHit(key_escape) = 1 |
| ||
| ATAN2 needs the difference between target and source coords where you're only using the target coords in mousex() and mousey() Could be neater...
Graphics 800,600
SetColor 255,255,255
SetOrigin(GraphicsWidth()/2,GraphicsHeight()/2)
'HideMouse()
Local varx : Float
Repeat
mx=MouseX()
my=MouseY()
x1 = mx-400
y1 = my-300
SetRotation ATan2(y1,x1)
varx = GetRotation()
DrawText "rotation = " + String(varx), 10,10
Flip
Cls
Until KeyHit(key_escape) = 1
|
| ||
| Oh god I'm so dense! Thanks loads guys. |
| ||
| Thanks for this piece of code :) |