Import mojo
Class vector
' A vector has a origin of 0,0. The length and direction
' is the x and y variables.
Field x:Float
Field y:Float
Method New(x:Float=0.0,y:Float=0.0)
' Fill in the x and y
Self.x = x
Self.y = y
End Method
' This method rotates the input vector by a value(degrees)
Method rotate:vector(v:vector,val:Int)
' create a temporary vector
Local u:vector = New vector()
' rotate the inputted vector and put the data in u.
u.x = v.x * Cos(val) - v.y * Sin(val)
u.y = v.x * Sin(val) + v.y * Cos(val)
' return the new vector
Return u
End Method
End Class
Class MyGame Extends App
' some local variables.
Field alienx:Float=100,alieny:Float=100
Field myvec:vector
Method OnCreate()
SetUpdateRate(60)
' create the new vector (2,2)
myvec = New vector(2,2)
End Method
Method OnUpdate()
End Method
Method OnRender()
Cls 0,0,0
SetColor 255,255,255
' Move the alien based on the vector's x,y
alienx+=myvec.x
alieny+=myvec.y
' rotate the vector.
myvec = myvec.rotate(myvec,10)
' draw the alien.
DrawCircle(alienx,alieny,10)
'
DrawText "2D Vector Rotation",0,0
End Method
End Class
Function Main()
New MyGame()
End Function
Artificial intelligence/templates/examples/rts/rpg/strategy ect. in MonkeyX/CerberusX language. You can download the free version of MonkeyX from itch.io or Cerberus-x.com The Flash applets will stop working in around 2020.
Sunday, July 9, 2017
Monkey-X - Beginners - 2D Vector Rotation - code example
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment
Note: Only a member of this blog may post a comment.