※現在、「wonderfl build flash online」求人コンテンツ制作に関してのアンケートを実施中です!みなさまのお力添えを頂いて、続々とアンケート結果が集まっていますが、まだまだ募集しております。ご協力のほど、どうぞよろしくお願いいたします!

wonderfl運営事務局
→アンケートページ(※ログインしてからお答えいただけるようになっています。)

 notice: Flash editor updated! Join the development! Thanks to MiniBuilder


FORKED
  1. // forked from ish_xxxx's みじん斬り
  2. /**
  3. * SwordsEffect Scratch
  4. * by ish-xxxx
  5. */
  6. package {
  7.     import flash.display.*;
  8.     import flash.filters.*;
  9.     import flash.events.*;
  10.     import flash.geom.*;
  11.     import caurina.transitions.*;
  12.         
  13.     [SWF(frameRate=45, backgroundColor=0x020202)]
  14.         
  15.     public class Swords extends Sprite {
  16.         //CONSTANTS/////////////////////////////
  17.         private const MAIN_BG_COLOR:uint=0x2;
  18.         private const MAIN_BG_ALPHA:Number=1.0;
  19.         private const SWORD_ALPHA:Number=0.5;
  20.         private const SWORD_EDGE:uint=5;
  21.         private const ATTACK_SPEED:uint=5;
  22.         private const ATTACK_INTERVAL:uint=2;
  23.         private const ATTACK_TRANSITION:Function=Equations.easeInOutExpo;
  24.         private const ATTACK_END_TRANSITION:Function=Equations.easeOutExpo;
  25.         //VARS//////////////////////////////////
  26.         private var count:uint=0;
  27.         public function Swords():void {
  28.             init();
  29.         }
  30.         private function init():void {
  31.             setup();
  32.         }
  33.         private function setup():void {
  34.             stage.addEventListener(Event.ENTER_FRAME,update,false,0,false);
  35.         }
  36.         private function update(ev:Event):void {
  37.             if (count % ATTACK_INTERVAL == 0) {
  38.                 var sp:Sprite=new Sprite  ;
  39.                 var gra:Graphics=sp.graphics;
  40.                 var color:uint=getColor();
  41.                 gra.beginFill(color,SWORD_ALPHA);
  42.                 gra.drawRoundRect(0,0,1,SWORD_EDGE,SWORD_EDGE);
  43.                 gra.endFill();
  44.                 sp.x=Math.random() * stage.stageWidth | 0;
  45.                 sp.y=Math.random() * stage.stageHeight | 0;
  46.                 var ranX:uint=Math.random() * stage.stageWidth | 0;
  47.                 var ranY:uint=Math.random() * stage.stageHeight | 0;
  48.                 var cp:Point=new Point(sp.x,sp.y);
  49.                 var tp:Point=new Point(ranX,ranY);
  50.                 var dist:Number=Point.distance(cp,tp);
  51.                 var ranScale:uint=dist;
  52.                 var rad:Number=getRadian(tp,cp);
  53.                 sp.rotation=Radian2Degree(rad);
  54.                 sp.alpha=0;
  55.                                 sp.filters = [getBlur()];
  56.                 addChild(sp);
  57.                 Tweener.addTween(sp,{alpha:1,scaleX:ranScale,time:ATTACK_SPEED / 10,transition:ATTACK_TRANSITION});
  58.                 Tweener.addTween(sp,{x:tp.x,y:tp.y,scaleX:0,alpha:0,delay:ATTACK_SPEED / 10,time:ATTACK_SPEED / 5,transition:ATTACK_END_TRANSITION,onComplete:kill,onCompleteParams:[sp]});
  59.             }
  60.             count++;
  61.         }
  62.         private function getColor():uint {
  63.             var ranR:String=String(uint(Math.random() * 255 | 0));
  64.             var ranG:String=String(uint(Math.random() * 255 | 0));
  65.             var ranB:String=String(uint(Math.random() * 255 | 0));
  66.             var res:uint=uint(ranR + ranG + ranB);
  67.             return res;
  68.         }
  69.         private function getBlur() : BlurFilter{
  70.             var b:BlurFilter = new BlurFilter();
  71.             b.blurX = Math.random() * 10 | 0;
  72.             b.blurY = Math.random() * 10 | 0;
  73.             b.quality = BitmapFilterQuality.LOW;
  74.             return b
  75.         }
  76.         private function kill(target:Sprite):void {
  77.             
  78. (target);
  79.             target=null;
  80.         }
  81.         private function getRadian(tp:Point,cp:Point):Number {
  82.             var dx:Number=tp.x - cp.x;
  83.             var dy:Number=tp.y - cp.y;
  84.             return Math.atan2(dy,dx);
  85.         }
  86.         private function Radian2Degree(radian:Number):Number {
  87.             return radian * 180 / Math.PI;
  88.         }
  89.     }
  90. }
noswf
Get Adobe Flash Player