Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import flash.display.Sprite;
- import flash.events.Event;
- import flash.events.KeyboardEvent;
- import flash.display.MovieClip;
- var ray:MovieClip = new MovieClip();
- var env = new environment();
- var arc = 364;
- var rays = 135;
- var rayAngleStep = 0;
- var drawDistance = 150;
- var rayStep = 5;
- var dispX = 0;
- var dispY = 0;
- stage.addChild(ray);
- stage.addChild(env);
- env.x = stage.width;
- env.y = stage.height;
- addEventListener(Event.ENTER_FRAME,myEnterFrame);
- function myEnterFrame(event:Event) {
- ray.graphics.clear();
- ray.graphics.lineStyle(0, 0xff0000, 100);
- rayAngleStep = arc / rays;
- ray.graphics.moveTo(mouseX, mouseY);
- for (var k=0; k<arc; k+=rayAngleStep)
- {
- dispX = Math.cos(to_radians(k));
- dispY = Math.sin(to_radians(k));
- ray.graphics.lineTo(mouseX+dispX*hitTest(dispX,dispY), mouseY+dispY*hitTest(dispX,dispY));
- }
- function hitTest(dx:Number,dy:Number):Number
- {
- var retVal = 0;
- for (var j=0; j<drawDistance; j+=rayStep)
- {
- if (env.hitTestPoint((mouseX + dx * j),(mouseY + dy * j),true))
- {
- retVal = j;
- break;
- }
- else
- {
- retVal = j;
- }
- }
- return retVal;
- }
- function to_radians(n:Number):Number
- {
- return (n*0.0174532925);
- }
- }
Add Comment
Please, Sign In to add comment