Guest User

Untitled

a guest
May 20th, 2018
142
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. import flash.display.Sprite;
  2. import flash.events.Event;
  3. import flash.events.KeyboardEvent;
  4. import flash.display.MovieClip;
  5.  
  6. var ray:MovieClip = new MovieClip();
  7. var env = new environment();
  8. var arc = 364;
  9. var rays = 135;
  10. var rayAngleStep = 0;
  11. var drawDistance = 150;
  12. var rayStep = 5;
  13. var dispX = 0;
  14. var dispY = 0;
  15.  
  16. stage.addChild(ray);
  17. stage.addChild(env);
  18.  
  19. env.x = stage.width;
  20. env.y = stage.height;
  21.  
  22. addEventListener(Event.ENTER_FRAME,myEnterFrame);
  23. function myEnterFrame(event:Event) {
  24.    
  25.  
  26. ray.graphics.clear();
  27. ray.graphics.lineStyle(0, 0xff0000, 100);
  28.  
  29. rayAngleStep = arc / rays;
  30. ray.graphics.moveTo(mouseX, mouseY);
  31.  
  32.  
  33. for (var k=0; k<arc; k+=rayAngleStep)
  34. {
  35.     dispX = Math.cos(to_radians(k));
  36.     dispY = Math.sin(to_radians(k));
  37.    
  38.     ray.graphics.lineTo(mouseX+dispX*hitTest(dispX,dispY), mouseY+dispY*hitTest(dispX,dispY));
  39. }
  40.  
  41.  
  42. function hitTest(dx:Number,dy:Number):Number
  43. {
  44.     var retVal = 0;
  45.  
  46.     for (var j=0; j<drawDistance; j+=rayStep)
  47.     {
  48.         if (env.hitTestPoint((mouseX + dx * j),(mouseY + dy * j),true))
  49.         {
  50.             retVal = j;
  51.             break;
  52.         }
  53.         else
  54.         {
  55.             retVal = j;
  56.         }
  57.     }
  58.     return retVal;
  59. }
  60.  
  61.  
  62. function to_radians(n:Number):Number
  63. {
  64.     return (n*0.0174532925);
  65. }
  66. }
Add Comment
Please, Sign In to add comment