shadowcaster.monkey2 855 B

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. Namespace mojo.graphics
  2. #rem monkeydoc The ShadowCaster class.
  3. #end
  4. Class ShadowCaster
  5. #rem monkeydoc Creates a new shadow caster.
  6. #end
  7. Method New()
  8. End
  9. Method New( rect:Rectf )
  10. _vertices=New Vec2f[]( rect.TopLeft,rect.TopRight,rect.BottomRight,rect.BottomLeft )
  11. ' _vertices=New Vec2f[]( rect.TopLeft,rect.BottomLeft,rect.BottomRight,rect.TopRight )
  12. End
  13. Method New( radius:Float,segments:Int )
  14. _vertices=New Vec2f[segments]
  15. For Local i:=0 Until segments
  16. _vertices[i]=New Vec2f( Cos( i * TwoPi /segments )*radius,Sin( i * TwoPi / segments )*radius )
  17. Next
  18. End
  19. Method New( vertices:Vec2f[] )
  20. _vertices=vertices
  21. End
  22. #rem monkeydoc Shadow caster vertices.
  23. #end
  24. Property Vertices:Vec2f[]()
  25. Return _vertices
  26. Setter( vertices:Vec2f[] )
  27. _vertices=vertices
  28. End
  29. Private
  30. Field _vertices:Vec2f[]
  31. End