残像実験
♥0 |
Line 53 |
Modified 2010-04-30 00:45:19 |
MIT License
archived:2017-03-20 15:42:49
ActionScript3 source code
/**
* Copyright pon_zu ( http://wonderfl.net/user/pon_zu )
* MIT License ( http://www.opensource.org/licenses/mit-license.php )
* Downloaded from: http://wonderfl.net/c/hgIU
*/
package {
import flash.display.Bitmap;
import flash.display.BitmapData;
import flash.display.PixelSnapping;
import flash.display.Sprite;
import flash.events.Event;
import flash.geom.ColorTransform;
import flash.geom.Matrix;
import flash.filters.BlurFilter;
[SWF(width=480, height=480, backgroundColor=0x0)]
public class Main extends Sprite {
private var afterBitmapData:BitmapData = new BitmapData(800, 600, true, 0x00FFFFFF);
private var afterImage:Bitmap = new Bitmap(afterBitmapData, PixelSnapping.AUTO, true);
private var character:Character = new Character();
public function Main() {
addChild(afterImage);
character.x = 200;
character.y = 200;
character.filters = [new BlurFilter(10,10)];
addChild(character);
addEventListener(Event.ENTER_FRAME, onEnterFrame);
}
private function onEnterFrame(event:Event):void {
character.move();
afterBitmapData.colorTransform(afterBitmapData.rect,
new ColorTransform(1, 1, 1, 1, 0, 0, 0, -3));
var mat:Matrix = new Matrix();
mat.scale(0.6, 0.6);
mat.translate(character.x, character.y);
afterBitmapData.draw(character, mat);
}
}
}
import flash.display.Sprite;
import flash.events.Event;
class Character extends Sprite {
private var isStage:Boolean = false;
public function Character() {
graphics.beginFill(0x00FFFF);
graphics.drawCircle(0, 0, 10);
graphics.endFill();
addEventListener(Event.ADDED_TO_STAGE, onAddedStage);
}
public function move():void {
if(this.x >= stage.mouseX) this.x -= 1;
else this.x += 1;
if(this.y >= stage.mouseY) this.y -= 1;
else this.y += 1;
}
private function onAddedStage(event:Event):void {
isStage = true;
}
}