flash on 2010-9-10
♥0 |
Line 68 |
Modified 2010-09-12 08:24:54 |
MIT License
archived:2017-03-20 12:09:03
ActionScript3 source code
/**
* Copyright Tamanegi_kenshi ( http://wonderfl.net/user/Tamanegi_kenshi )
* MIT License ( http://www.opensource.org/licenses/mit-license.php )
* Downloaded from: http://wonderfl.net/c/nZL9
*/
package {
import flash.events.*;
import flash.display.Sprite;
import flash.display.BitmapData;
import flash.display.Bitmap;
import flash.geom.Matrix;
import flash.geom.ColorTransform;
import flash.filters.BlurFilter;
import flash.geom.Point;
public class FlashTest extends Sprite {
private var bd:BitmapData;
private var bt:Bitmap;
private var matrix:Matrix;
private var ball:Ball;
private var colortrans:ColorTransform;
private var filter:BlurFilter;
private var sp:Sprite;
private var angle:int = 0;
private var circleX:Number = 0;
public function FlashTest() {
init();
}//Flashtest
private function init():void{
sp = new Sprite();
bd = new BitmapData(465, 465, false, 0x000000);
bt = new Bitmap(bd);
addChild(bt);
ball = new Ball(0xffffff);
matrix = new Matrix();
colortrans = new ColorTransform();
filter = new BlurFilter(2, 3, 1);
// stage.addEventListener(MouseEvent.MOUSE_DOWN, onDown);
// stage.addEventListener(MouseEvent.MOUSE_UP, onUp);
stage.addEventListener(MouseEvent.DOUBLE_CLICK, onClick);
stage.addEventListener(Event.ENTER_FRAME, onEnter);
}
private function onClick(e:MouseEvent):void{
bd.fillRect(bd.rect, Math.random() * 0xffffff);
}
// private function onDown(e:MouseEvent):void{
// stage.addEventListener(MouseEvent.MOUSE_MOVE, onEnter);
// }
// private function onUp(e:MouseEvent):void{
// stage.removeEventListener(MouseEvent.MOUSE_MOVE, onEnter);
// }
private function onEnter(e:Event):void{
var radian:Number = angle * Math.PI / 180;
ball.x = 232 + Math.cos(radian) * circleX;
ball.y = 232 + Math.sin(radian) * circleX;
angle += 1;
circleX += 0.1
if(circleX > 200){
circleX = 200;
}
matrix.identity();
var s:Number = 1;
matrix.scale(s, s);
matrix.rotate(Math.PI * Math.random());
matrix.translate(ball.x, ball.y);
colortrans.greenMultiplier = mouseY / 465;
colortrans.blueMultiplier = 0;
colortrans.redMultiplier = mouseX / 465;
colortrans.alphaMultiplier = Math.random();
// BitmapDataへ描画
bd.draw(ball, matrix, colortrans);
//フィルター
bd.applyFilter(bd, bd.rect, new Point(0, 0), filter);
}
}
}
import flash.display.Sprite;
class Ball extends Sprite{
public function Ball(color:uint){
graphics.beginFill(color);
graphics.drawCircle(0, 0, 10);
graphics.endFill();
}
}