Steering wheel

Monkey Archive Forums/Monkey Tutorials/Steering wheel

StoneFaceEXE(Posted 2012) [#1]
Here is a simple function, that makes a 2d steering wheel for possible racing games.

I packed it with an example:

Function only requires mojo, but diddy version is also in the zip.
It was written in the STRICT mode, but does not depend on it.

Function DrawWheel:Int(ImageHandle:Image, xl:Int = DeviceWidth() / 2, yl:Int = DeviceHeight() / 2)
Local angle:Int
If TouchX() > xl - ImageHandle.Width() / 2 and TouchX() < xl + ImageHandle.Width() / 2
If TouchY() > yl - ImageHandle.Height() / 2 and TouchY() < yl + ImageHandle.Height() / 2
If TouchDown() Then angle = ATan2(xl - TouchX(), yl - TouchY())
ImageHandle.SetHandle(ImageHandle.Width() / 2, ImageHandle.Height() / 2)
DrawImage(ImageHandle, xl, yl, angle, 1, 1)
Return angle
End Function

1) It is best to use images with even resolutions (e.g. 100x100)
2) It automatically sets the handle of an image to MidHandle and calculates touch hits corresponding to resolutions of the image.
3) It returns int values from -180 to 180

A - Image of the wheel
B,C - X and Y where the wheel must be drawn(Note that your image will be mid handled)

Hope this will help someone

DruggedBunny(Posted 2012) [#2]
Cool example, would be good for a smartphone interface, thanks.