alphacubes.monkey2 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485
  1. Namespace myapp
  2. #Import "<std>"
  3. #Import "<mojo>"
  4. #Import "<mojo3d>"
  5. #Import "assets/"
  6. Using std..
  7. Using mojo..
  8. Using mojo3d..
  9. Class MyWindow Extends Window
  10. Field _scene:Scene
  11. Field _camera:Camera
  12. Field _light:Light
  13. Method New( title:String="Simple mojo app",width:Int=640,height:Int=480,flags:WindowFlags=WindowFlags.Resizable )
  14. Super.New( title,width,height,flags )
  15. 'create scene
  16. '
  17. _scene=New Scene
  18. _scene.ClearColor=Color.Sky
  19. _scene.FogColor=Color.Sky
  20. _scene.FogNear=25
  21. _scene.FogFar=50
  22. 'create camera
  23. '
  24. _camera=New Camera( Self )
  25. _camera.Near=.1
  26. _camera.Far=100
  27. _camera.Move( 0,10,-10 )
  28. New FlyBehaviour( _camera )
  29. 'create light
  30. '
  31. _light=New Light
  32. _light.Rotate( 30,60,0 )
  33. 'Create cube
  34. '
  35. Local cube:=Model.CreateBox( New Boxf( -1,1 ),1,1,1,New PbrMaterial( Color.Grey ) )
  36. cube.CastsShadow=False
  37. For Local x:=-50.0 To 50.0 Step 2.5
  38. For Local z:=-50.0 To 50.0 Step 2.5
  39. Local copy:=cube.Copy()
  40. copy.Move( x,0,z )
  41. copy.Alpha=(x+50)/100
  42. Next
  43. Next
  44. cube.Destroy()
  45. End
  46. Method OnRender( canvas:Canvas ) Override
  47. RequestRender()
  48. _scene.Update()
  49. _scene.Render( canvas )
  50. canvas.DrawText( "FPS="+App.FPS,0,0 )
  51. End
  52. End
  53. Function Main()
  54. New AppInstance
  55. New MyWindow
  56. App.Run()
  57. End