背景白で残像
♥0 |
Line 69 |
Modified 2009-12-04 21:34:59 |
MIT License
archived:2017-03-20 02:56:20
ActionScript3 source code
/**
* Copyright macomputer ( http://wonderfl.net/user/macomputer )
* MIT License ( http://www.opensource.org/licenses/mit-license.php )
* Downloaded from: http://wonderfl.net/c/rXLt
*/
package {
import flash.display.Sprite;
import flash.display.Shape;
import flash.display.Graphics;
import flash.events.*;
import flash.display.BitmapData;
import flash.display.Bitmap;
import flash.filters.BlurFilter;
import flash.geom.ColorTransform;
import flash.geom.Point;
import flash.display.BlendMode;
[SWF(backgroundColor="#F2F2F2", frameRate=30)]
public class FlashTest extends Sprite{
public function FlashTest() {
// write as3 code here..
var mc:Sprite = new Sprite();
stage.addChild(mc);
mc.blendMode = BlendMode.DIFFERENCE;
//mc.scaleX = 2;
//mc.scaleY = 2;
var shape:Shape = new Shape();
mc.addChild(shape);
var g:Graphics = shape.graphics;
g.lineStyle (0, 0x000000, 0);
//この色はブレンドモードを考慮
g.beginFill (0x000FFFF, 1.0);
g.drawCircle ( 0, 0 , 40);
var vx:Number = 2;
var vy:Number = -5;
var gravity:Number = 0.5;
var spring:Number = 0.1;
var friction:Number = 0.8;
var cTra:ColorTransform = new ColorTransform(0.99, 0.99, 0.99 , 1);
var bmd:BitmapData = new BitmapData(500, 500, true, 0xFFFFFF);
var bm:Bitmap = new Bitmap(bmd);
var bf:BlurFilter = new BlurFilter(8, 8, 1);
mc.addChild(bm);
shape.addEventListener(Event.ENTER_FRAME, motionG);
function motionG(event:Event):void{
var dx:Number = mouseX - shape.x;
var dy:Number = mouseY - shape.y;
var ax:Number = dx * spring;
var ay:Number = dy * spring;
vx += ax;
vy += ay;
vx *= friction;
vy *= friction;
vy += gravity;
shape.x += vx;
shape.y += vy;
if(shape.y > 400){
shape.y = 400;
vy *= -1;
}
if(shape.y < 40){
shape.y = 40;
vy *= -1;
}
if(shape.x > 450){
shape.x = 450;
vx *= -1;
}
if(shape.x < 40){
shape.x = 40;
vx *= -1;
}
bmd.draw(mc);
// bmd.scroll(3, 0);
bmd.applyFilter(bmd, bmd.rect, new Point(0,0), bf);
bmd.colorTransform(bmd.rect, cTra);
}
}
}
}