bitmapの勉強3
♥2 |
Line 56 |
Modified 2010-09-02 18:22:49 |
MIT License
archived:2017-03-20 03:10:57
ActionScript3 source code
/**
* Copyright knowt ( http://wonderfl.net/user/knowt )
* MIT License ( http://www.opensource.org/licenses/mit-license.php )
* Downloaded from: http://wonderfl.net/c/baJR
*/
package {
import flash.display.BlendMode;
import flash.filters.BlurFilter;
import flash.geom.ColorTransform;
import flash.geom.Rectangle;
import flash.geom.Point;
import flash.utils.Proxy;
import flash.events.Event;
import flash.geom.Matrix;
import flash.display.Bitmap;
import flash.display.BitmapData;
import flash.display.Sprite;
public class FlashTest extends Sprite {
private var stage_x:Number = stage.stageWidth;
private var stage_y:Number = stage.stageHeight;
private var px:Number = stage_x/2 ; //position_x
private var py:Number = stage_y/2 ; //position_y
private var rot:Number = 0; //Angle?
private var rot_speed:Number = 5; //speed
private var radius:Number = 30; //Radius
public function FlashTest() {
graphics.beginFill(0); //BackgroundColor
graphics.drawRect(0,0,stage_x,stage_y);
var bitmap:Bitmap = new Bitmap();
var bitmapData:BitmapData = new BitmapData(stage_x,stage_y);
var backbitmapData:BitmapData = new BitmapData(stage_x,stage_y,true,0x00000000);
var parts:BitmapData = new BitmapData(40,40,true,0x00000000); //circle BitmapData
var filter:BlurFilter = new BlurFilter(3,3,1);
var blend:BlendMode = new BlendMode();
var sprite:Sprite = new Sprite();
//sprite.graphics.lineStyle(2,0x000000); //line color
sprite.graphics.beginFill(0x44ff00); //circle color
sprite.graphics.drawCircle(0,0,10); //circle size
var matrix:Matrix = new Matrix();
matrix.translate(20,20); //circle position
parts.draw(sprite,matrix);
var point:Point = new Point(px-20,py-20);
var rect:Rectangle = new Rectangle(0,0,stage_x,stage_y);
addEventListener(Event.ENTER_FRAME,myFunc);
addChild(bitmap);
function myFunc(event:Event):void{
bitmapData = backbitmapData.clone();
bitmapData.copyPixels(parts,rect,point,null,null,true);
backbitmapData = bitmapData.clone();
backbitmapData.colorTransform(rect,new ColorTransform(1, 1, 1, 0.99, 2, 0, 5, 0));
backbitmapData.applyFilter(backbitmapData,rect,new Point(0,0),filter);
//backbitmapData.draw(backbitmapData,null,null,"add");
bitmap.bitmapData = bitmapData;
rot += rot_speed;
var rad:Number = rot * Math.PI / 180;
var wx:Number = (px-20) + Math.cos(rad) * radius ;
var wy:Number = (py-20) + Math.sin(rad) * radius ;
point.x = wx;
point.y = wy;
}
}
}
}