In case Flash no longer exists; a copy of this site is included in the Flashpoint archive's "ultimate" collection.

Dead Code Preservation :: Archived AS3 works from wonderfl.net

矢印がポインタを追う!!

矢印がポインタを追いかけます。
長い間逃げているとどんどんスピードが速くなります。
追いつくと妖しく発光します。
Get Adobe Flash player
by pykgg476 31 Aug 2009
    Embed
/**
 * Copyright pykgg476 ( http://wonderfl.net/user/pykgg476 )
 * MIT License ( http://www.opensource.org/licenses/mit-license.php )
 * Downloaded from: http://wonderfl.net/c/eCjt
 */

package {
//矢印がポインタを追いかけます。
//長い間逃げているとどんどんスピードが速くなります。
//追いつくと妖しく発光します。	

import flash.display.Sprite;
	import flash.events.Event;
	import flash.filters.GlowFilter;

	public class FallowMouse extends Sprite
	{
		 private var arrow:Sprite;
		private var speed:Number = 5;
		private var glow:GlowFilter;
		private var myFilters:Array;
		private var loop:Boolean;
		 
		public function FallowMouse()
		{
			init();
		}
		
		private function init():void{
    arrow = new Sprite();
            addChild(arrow);
                        arrow.graphics.lineStyle(1,0,1);
            arrow. graphics.beginFill(0x000000);
            arrow. graphics.moveTo(-50,-25);
            arrow. graphics.lineTo(0,-25);
            arrow. graphics.lineTo(0,-50);
            arrow. graphics.lineTo(50,0);
            arrow. graphics.lineTo(0,50);
            arrow. graphics.lineTo(0,25);
            arrow. graphics.lineTo(-50,25);
            arrow. graphics.lineTo(-50,-25);
            arrow. graphics.endFill();
            arrow.x = stage.stageWidth/2;
            arrow.y = stage.stageHeight/2;
			addChild(arrow);
			addEventListener(Event.ENTER_FRAME,onEnterFrame);
			glow = new GlowFilter();
			myFilters = new Array();
			
			
		}
		
		private function onEnterFrame(event:Event):void{
			var dx:Number = mouseX - arrow.x;
			var dy:Number = mouseY - arrow.y;
			var angle:Number = Math.atan2(dy,dx);
			arrow.rotation = angle * 180/Math.PI;
			var vx:Number = Math.cos(angle) * speed;
			var vy:Number = Math.sin(angle) * speed;
			
			
			if(Math.abs(dx)<3 || Math.abs(dy)<3){
				while(loop){
					myFilters.push(glow);
					arrow.filters = myFilters;
speed = 5;
					loop = false;
				}
				
			}else{
				
				myFilters.pop();
				arrow.filters = myFilters;
				arrow.x += vx;
				arrow.y += vy;
speed+=0.3;
				loop = true;
			}
		}
	}
}