flash on 2009-11-26
「miscellaneous」さん
http://yamasv.blog92.fc2.com/blog-entry-156.html
のコードをお借りしてみました。
ベースを黒にしてみたいので、また今度弄ります。
♥2 |
Line 62 |
Modified 2009-11-26 03:33:38 |
MIT License
archived:2017-03-09 22:03:48
ActionScript3 source code
/**
* Copyright hacker_929p08ld ( http://wonderfl.net/user/hacker_929p08ld )
* MIT License ( http://www.opensource.org/licenses/mit-license.php )
* Downloaded from: http://wonderfl.net/c/4ZPc
*/
package{
import flash.display.*;
import flash.events.*;
import flash.geom.*;
import flash.utils.*;
import flash.filters.*;
/*
「miscellaneous」さん
http://yamasv.blog92.fc2.com/blog-entry-156.html
のコードをお借りしてみました。
ベースを黒にしてみたいので、また今度弄ります。
*/
public class f extends Sprite{
private var balls:Array = [];
private var timer:Timer = null;
private var tick:Number = 0;
private var colors:Array = [0xFF0000, 0xFFFF00, 0xFFFFFF];
private var alphas:Array = [0, 0.5, 1];
private var ratios:Array = [0, 192, 255];
private var gradientGlowFilter:GradientGlowFilter = new GradientGlowFilter(0, 0, colors, alphas, ratios, 32, 32, 3, 3, "outer", false);
public function f(){
for(var i:int = 0 ; i < 50 ; i++){
var b:Ball = new Ball(0xffffff, 50*Math.random());
b.x = 800*Math.random();
b.y = 500*Math.random()
b.filters = [gradientGlowFilter];
addChild(b);
balls.push(b);
}
timer = new Timer(100);
timer.addEventListener(TimerEvent.TIMER, cal);
timer.start();
}
private function cal(e:Event) :void{
for each(var ball:Ball in balls){
var x:Number = Math.PI*2*ball.tick - Math.PI;
var fx:Number = 0;
for(var i:Number = 0 ; i < 11 ; i++){
fx += Math.pow(2, -i)*Math.sin(Math.pow(2,i)*x);
}
fx = (fx+1.5)/3;
trace(fx);
ball.alpha = fx;
//gradientGlowFilter.blurX = 255*fx;
//gradientGlowFilter.blurY = 255*fx;
//gradientGlowFilter.strength = 255*fx;
ball.tickIncl();
}
}
}
}
import flash.display.*;
internal class Ball extends Sprite{
private var _tick:Number = Math.random();
public function Ball(color:int, radius:int){
graphics.beginFill(color);
graphics.drawCircle(0,0,radius);
graphics.endFill();
}
public function get tick():Number {
return _tick;
}
public function set tick(tick:Number):void {
_tick = tick;
}
public function tickIncl():void{
_tick += 0.01;
if(_tick > 1)
_tick = 0;
}
}