本当に光ってる魔法石を、スマフォアプリで実現する関数。
本物の魔法石っぽく光る、アニメーションエフェクト設定メソッドを作ってみました。
どんなMovieClipでも、メソッド1行で、シルエット通りの魔法石になります。
魔法少女が変身中の全裸シルエットに近いかもw
public static function setRainbow(m:MovieClip, x:Number=0, y:Number=0):Function{ var bmd : BitmapData = new BitmapData(m.width, m.height, true , 0xFFFF8000); var bmp : Bitmap = new Bitmap(bmd); var rad : Number = int(Math.random() * 0xFFFF); // 適当な乱数 var offset:Array = [ new Point(0,0) ]; bmp.x = m.x - m.width/2 + x; bmp.y = m.y - m.height/2 + y; bmp.blendMode = BlendMode.ADD; bmp.mask = m; m.parent.addChild(bmp); m.addEventListener(Event.ENTER_FRAME , onEnterFrame); function onEnterFrame(e:Event):void{ offset[0].x -= .5; offset[0].y += .5; //引数のchannelOptions = 1は赤、2は青、3は虹、4は無し、5も虹? bmd.perlinNoise(20, 20, 2, rad, false, true, (1|2|4|8), false , offset); } function rem():void{ bmp.mask = null; m.removeEventListener(Event.ENTER_FRAME , onEnterFrame); bmp.parent.removeChild(bmp); bmd.dispose(); } return rem; }
実際のキャプチャ。実機ではキラキラゆらゆらエーテルみたく怪しく光りうごめいてます。