I am trying to learn about Vectors. I found a archived blitzcoder article about it for Blitz basic. I am making my own examples of them for Monkey here.
Code below :
Import mojo Global x1:Float,y1:Float,x2:Float,y2:Float Global length:Float,angle:Float Class MyGame Extends App Method OnCreate() SetUpdateRate(60) x1=640/2 y1=480/2 End Method Method OnUpdate() x2 = MouseX() y2 = MouseY() length=vectordistance(x2-x1,y2-y1) angle=vectorangle(x2-x1,y2-y1) x2 = x1+vectorx(length,angle) y2 = y1+vectory(length,angle) End Method Method OnRender() Cls 0,0,0 SetColor 255,255,255 DrawLine x1,y1,x2,y2 End Method End Class ' Thanks to Blitzcoder for the functions ';= Get horizontal size of vector using distance and angle Function vectorx:Float(distance:Float,angle:Float) Return Sin(angle)*distance End Function ';= Get vertical size of vector using distance and angle Function vectory:Float(distance:Float,angle:Float) Return Sin(angle-90)*distance End Function ';= Get True length of a vector Function vectordistance:Float(x:Float,y:Float) Return Sqrt(x*x+y*y) End Function ';= Get True angle of a vector Function vectorangle:Float(x:Float,y:Float) Return -ATan2(x,y)+180 End Function Function Main() New MyGame() End Function
No comments:
Post a Comment
Note: Only a member of this blog may post a comment.