02.12.2012 22:48:00 • Categories: Monkey X, 2D Game SDK / Framework, Multiplatform • Tags: Monkey
Monkey: drawing a starfield
Import mojo Global stars:Starfield,mx:Float,my:FloatFunction Main() stars = New Starfield() End Function
Class TStar Field x:Float,y:Float,z:Float Method Init() x=Rnd(-100,100) y=Rnd(-100,100) z=Rnd(-100,100) End Method
Method Update() z-=1 x+=mx y+=my If z<=-100 z+=200 If x<=-100 x+=200 If y<=-100 y+=200 If x>= 100 x-=200 If y>= 100 y-=200 End Method
Method Draw() Local i:Int=z+121 Local px:Int=x450/(z+151) Local py:Int=y350/(z+151) SetColor 255-i,255-i,255-i DrawRect 320+px,240+py,1,1 End Method End Class
Class Starfield Extends App Field star:TStar[1024] Method OnCreate() SetUpdateRate 50 For Local t:Int=0 To star.Length-1 star[t]=New TStar star[t].Init Next End Method
Method OnUpdate() mx=(MouseX()-320)/50 my=(MouseY()-240)/50 For Local t:Int=0 To star.Length-1 star[t].Update Next End Method
Method OnRender() Cls 0,0,0 For Local t:Int=0 To star.Length-1 star[t].Draw Next End Method End Class