矢印がポインタを追う!!
矢印がポインタを追いかけます。
長い間逃げているとどんどんスピードが速くなります。
追いつくと妖しく発光します。
♥3 |
Line 61 |
Modified 2009-08-31 12:28:02 |
MIT License
archived:2017-03-09 07:04:13
ActionScript3 source code
/**
* 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;
}
}
}
}