Tweensy - filter
TweensyでFilterのプロパティをアニメーションしてみる。Filterオブジェクトを作ってそのFilterオブジェクトのプロパティをTweensyでTweenするイメージ。で、updateパラメータにそのFilterを適用するインスタンスを指定する。
- ActionScript
- TestTweensy_8.as
- Source
package {
import com.flashdynamix.motion.extras.ColorMatrix;
import com.flashdynamix.motion.Tweensy;
import fl.motion.easing.Linear;
import flash.display.Bitmap;
import flash.display.BitmapData;
import flash.display.BitmapDataChannel;
import flash.display.GradientType;
import flash.display.Graphics;
import flash.display.Shape;
import flash.display.SpreadMethod;
import flash.display.Sprite;
import flash.events.MouseEvent;
import flash.filters.BevelFilter;
import flash.filters.BlurFilter;
import flash.filters.ColorMatrixFilter;
import flash.filters.ConvolutionFilter;
import flash.filters.DisplacementMapFilter;
import flash.filters.DisplacementMapFilterMode;
import flash.filters.DropShadowFilter;
import flash.filters.GlowFilter;
import flash.filters.GradientBevelFilter;
import flash.filters.GradientGlowFilter;
import flash.geom.Matrix;
import flash.geom.Point;
import flash.text.TextField;
import flash.text.TextFieldAutoSize;
import flash.text.TextFormat;
[SWF(backgroundColor = 0x000000, width = 600, height = 400, frameRate = 30)]
public class TestTweensy_8 extends Sprite {
[Embed (source="fl_64.png")]
private var SampleImage:Class;
private var _bitmaps:Array;
public function TestTweensy_8() {
initInstances();
initButton();
}
private function initInstances():void {
_bitmaps = [];
var texts:Array = [
'BevelFilter', 'BlurFilter', 'ColorMatrixFilter',
'ConvolutionFilter', 'DisplacementMapFilter', 'DropShadowFilter',
'GlowFilter', 'GradientBevelFilter', 'GradientGlowFilter'
];
var textFormat:TextFormat = new TextFormat('_等幅', 10, 0xffffff);
var i:int, bitmap:Bitmap, textField:TextField;
for (i = 0; i < 9; i ++) {
bitmap = new SampleImage();
bitmap.x = 100 + 200 * Math.floor(i / 3);
bitmap.y = 60 + (bitmap.height + 50) * (i % 3);
addChild(bitmap);
_bitmaps[i] = bitmap;
textField = new TextField();
textField.defaultTextFormat = textFormat;
textField.autoSize = TextFieldAutoSize.RIGHT;
textField.x = bitmap.x - textField.width;
textField.y = bitmap.y;
textField.text = texts[i];
addChild(textField);
}
}
private function initButton():void {
var button:Button = new Button();
button.label = 'Tweensy.to()';
button.addEventListener(MouseEvent.CLICK, onButtonClick);
addChild(button);
}
private function onButtonClick(e:MouseEvent):void {
startTweensy();
}
private function startTweensy():void {
startBevelFilter(_bitmaps[0]);
startBlurFilter(_bitmaps[1]);
startColorMatrixFilter(_bitmaps[2]);
startConvolutionFilter(_bitmaps[3]);
startDisplacementMapFilter(_bitmaps[4]);
startDropShadowFilter(_bitmaps[5]);
startGlowFilter(_bitmaps[6]);
startGradientBevelFilter(_bitmaps[7]);
startGradientGlowFilter(_bitmaps[8]);
}
private function startBevelFilter(bitmap:Bitmap):void {
bitmap.filters = null;
var bevelFilter:BevelFilter = new BevelFilter(5, 45, 0xbf1424, 1, 0x500710, 1, 10, 10);
Tweensy.to(bevelFilter, { angle: 225 }, 3, Linear.easeNone, 1, bitmap);
}
private function startBlurFilter(bitmap:Bitmap):void{
bitmap.filters = null;
var blurFilter:BlurFilter = new BlurFilter(0, 0, 1);
Tweensy.to(blurFilter, { blurX: 10, blurY: 10 }, 3, Linear.easeNone, 1, bitmap);
}
private function startColorMatrixFilter(bitmap:Bitmap):void{
bitmap.filters = null;
var colorMatrix:ColorMatrix = new ColorMatrix(0, 1);
var colorMatrixFilter:ColorMatrixFilter = new ColorMatrixFilter(colorMatrix);
Tweensy.to(colorMatrixFilter, new ColorMatrix(0, 0), 3, Linear.easeNone, 1, bitmap);
}
private function startConvolutionFilter(bitmap:Bitmap):void{
bitmap.filters = null;
var convolutionFilter:ConvolutionFilter = new ConvolutionFilter(3, 3, [1, 1, 1, 1, -8, 1, 1, 1, 1], 0.30);
Tweensy.to(convolutionFilter, { divisor: 0.01 }, 3, Linear.easeNone, 1, bitmap);
}
private function startDisplacementMapFilter(bitmap:Bitmap):void{
bitmap.filters = null;
var shape:Shape = new Shape();
var graphics:Graphics = shape.graphics;
var matrix:Matrix = new Matrix();
matrix.createGradientBox(32, 0, 0, 0, 0);
graphics.beginGradientFill(GradientType.LINEAR, [0x000000, 0xff0000], [1, 1], [0, 255], matrix, SpreadMethod.REFLECT);
graphics.drawRect(0, 0, 64, 64);
graphics.endFill();
var bitmapData:BitmapData = new BitmapData(64, 64);
bitmapData.draw(shape);
var displacementMapFilter:DisplacementMapFilter = new DisplacementMapFilter(bitmapData, new Point(), 0, BitmapDataChannel.RED, 0, 0, DisplacementMapFilterMode.CLAMP);
Tweensy.to(displacementMapFilter, { scaleY: 30 }, 3, Linear.easeNone, 1, bitmap);
}
private function startDropShadowFilter(bitmap:Bitmap):void{
bitmap.filters = null;
var dropShadowFilter:DropShadowFilter = new DropShadowFilter(4, 45, 0x666666);
Tweensy.to(dropShadowFilter, { angle:225 }, 3, Linear.easeNone, 1, bitmap);
}
private function startGlowFilter(bitmap:Bitmap):void{
bitmap.filters = null;
var glowFilter:GlowFilter = new GlowFilter(0xbf1424, 1, 0, 0, 3);
Tweensy.to(glowFilter, { blurX: 10, blurY: 10 }, 3, Linear.easeNone, 1, bitmap);
}
private function startGradientBevelFilter(bitmap:Bitmap):void{
bitmap.filters = null;
var gradientBevelFilter:GradientBevelFilter = new GradientBevelFilter(4, 45, [0xbf1424, 0x500710, 0x000000], [1, 0, 1], [0, 128, 255], 10, 10);
Tweensy.to(gradientBevelFilter, { angle: 225 }, 3, Linear.easeNone, 1, bitmap);
}
private function startGradientGlowFilter(bitmap:Bitmap):void{
bitmap.filters = null;
var gradientGlowFilter:GradientGlowFilter = new GradientGlowFilter(0, 0, [0xbf1424, 0x500710, 0xbf1424], [0, 1, 0], [0, 128, 255], 0, 0);
Tweensy.to(gradientGlowFilter, { blurX: 10, blurY: 10 }, 3, Linear.easeNone, 1, bitmap);
}
}
}
import flash.display.Graphics;
import flash.display.Sprite;
import flash.events.MouseEvent;
import flash.filters.BevelFilter;
import flash.text.TextField;
import flash.text.TextFieldAutoSize;
import flash.text.TextFormat;
internal class Button extends Sprite {
private var _textField:TextField;
public function get label():String { return _textField.text; }
public function set label(value:String):void {
_textField.text = value;
updateFill();
}
public function Button() {
_textField = new TextField();
_textField.defaultTextFormat = new TextFormat('_等幅', 10, 0x333333, true);
_textField.autoSize = TextFieldAutoSize.LEFT;
_textField.x = 8;
_textField.y = 4;
addChild(_textField);
filters = [new BevelFilter(1, 45, 0xdddddd, 0xbbbbbb)];
buttonMode = true;
mouseChildren = false;
addEventListener(MouseEvent.MOUSE_UP, onButtonMouseUp);
addEventListener(MouseEvent.MOUSE_DOWN, onButtonMouseDown);
}
private function onButtonMouseUp(e:MouseEvent):void {
var button:Sprite = e.currentTarget as Sprite;
button.filters = null;
button.filters = [new BevelFilter(1, 45, 0xdddddd, 0xbbbbbb)];
}
private function onButtonMouseDown(e:MouseEvent):void {
var button:Sprite = e.currentTarget as Sprite;
button.filters = null;
button.filters = [new BevelFilter(1, 225, 0xdddddd, 0xbbbbbb)];
}
private function updateFill():void {
graphics.clear();
graphics.beginFill(0xCCCCCC);
graphics.drawRect(0, 0, _textField.textWidth + 20, _textField.textHeight + 14);
graphics.endFill();
}
}- package {
- import com.flashdynamix.motion.extras.ColorMatrix;
- import com.flashdynamix.motion.Tweensy;
- import fl.motion.easing.Linear;
- import flash.display.Bitmap;
- import flash.display.BitmapData;
- import flash.display.BitmapDataChannel;
- import flash.display.GradientType;
- import flash.display.Graphics;
- import flash.display.Shape;
- import flash.display.SpreadMethod;
- import flash.display.Sprite;
- import flash.events.MouseEvent;
- import flash.filters.BevelFilter;
- import flash.filters.BlurFilter;
- import flash.filters.ColorMatrixFilter;
- import flash.filters.ConvolutionFilter;
- import flash.filters.DisplacementMapFilter;
- import flash.filters.DisplacementMapFilterMode;
- import flash.filters.DropShadowFilter;
- import flash.filters.GlowFilter;
- import flash.filters.GradientBevelFilter;
- import flash.filters.GradientGlowFilter;
- import flash.geom.Matrix;
- import flash.geom.Point;
- import flash.text.TextField;
- import flash.text.TextFieldAutoSize;
- import flash.text.TextFormat;
- [SWF(backgroundColor = 0x000000, width = 600, height = 400, frameRate = 30)]
- public class TestTweensy_8 extends Sprite {
- [Embed (source="fl_64.png")]
- private var SampleImage:Class;
- private var _bitmaps:Array;
- public function TestTweensy_8() {
- initInstances();
- initButton();
- }
- private function initInstances():void {
- _bitmaps = [];
- var texts:Array = [
- 'BevelFilter', 'BlurFilter', 'ColorMatrixFilter',
- 'ConvolutionFilter', 'DisplacementMapFilter', 'DropShadowFilter',
- 'GlowFilter', 'GradientBevelFilter', 'GradientGlowFilter'
- ];
- var textFormat:TextFormat = new TextFormat('_等幅', 10, 0xffffff);
- var i:int, bitmap:Bitmap, textField:TextField;
- for (i = 0; i < 9; i ++) {
- bitmap = new SampleImage();
- bitmap.x = 100 + 200 * Math.floor(i / 3);
- bitmap.y = 60 + (bitmap.height + 50) * (i % 3);
- addChild(bitmap);
- _bitmaps[i] = bitmap;
- textField = new TextField();
- textField.defaultTextFormat = textFormat;
- textField.autoSize = TextFieldAutoSize.RIGHT;
- textField.x = bitmap.x - textField.width;
- textField.y = bitmap.y;
- textField.text = texts[i];
- addChild(textField);
- }
- }
- private function initButton():void {
- var button:Button = new Button();
- button.label = 'Tweensy.to()';
- button.addEventListener(MouseEvent.CLICK, onButtonClick);
- addChild(button);
- }
- private function onButtonClick(e:MouseEvent):void {
- startTweensy();
- }
- private function startTweensy():void {
- startBevelFilter(_bitmaps[0]);
- startBlurFilter(_bitmaps[1]);
- startColorMatrixFilter(_bitmaps[2]);
- startConvolutionFilter(_bitmaps[3]);
- startDisplacementMapFilter(_bitmaps[4]);
- startDropShadowFilter(_bitmaps[5]);
- startGlowFilter(_bitmaps[6]);
- startGradientBevelFilter(_bitmaps[7]);
- startGradientGlowFilter(_bitmaps[8]);
- }
- private function startBevelFilter(bitmap:Bitmap):void {
- bitmap.filters = null;
- var bevelFilter:BevelFilter = new BevelFilter(5, 45, 0xbf1424, 1, 0x500710, 1, 10, 10);
- Tweensy.to(bevelFilter, { angle: 225 }, 3, Linear.easeNone, 1, bitmap);
- }
- private function startBlurFilter(bitmap:Bitmap):void{
- bitmap.filters = null;
- var blurFilter:BlurFilter = new BlurFilter(0, 0, 1);
- Tweensy.to(blurFilter, { blurX: 10, blurY: 10 }, 3, Linear.easeNone, 1, bitmap);
- }
- private function startColorMatrixFilter(bitmap:Bitmap):void{
- bitmap.filters = null;
- var colorMatrix:ColorMatrix = new ColorMatrix(0, 1);
- var colorMatrixFilter:ColorMatrixFilter = new ColorMatrixFilter(colorMatrix);
- Tweensy.to(colorMatrixFilter, new ColorMatrix(0, 0), 3, Linear.easeNone, 1, bitmap);
- }
- private function startConvolutionFilter(bitmap:Bitmap):void{
- bitmap.filters = null;
- var convolutionFilter:ConvolutionFilter = new ConvolutionFilter(3, 3, [1, 1, 1, 1, -8, 1, 1, 1, 1], 0.30);
- Tweensy.to(convolutionFilter, { divisor: 0.01 }, 3, Linear.easeNone, 1, bitmap);
- }
- private function startDisplacementMapFilter(bitmap:Bitmap):void{
- bitmap.filters = null;
- var shape:Shape = new Shape();
- var graphics:Graphics = shape.graphics;
- var matrix:Matrix = new Matrix();
- matrix.createGradientBox(32, 0, 0, 0, 0);
- graphics.beginGradientFill(GradientType.LINEAR, [0x000000, 0xff0000], [1, 1], [0, 255], matrix, SpreadMethod.REFLECT);
- graphics.drawRect(0, 0, 64, 64);
- graphics.endFill();
- var bitmapData:BitmapData = new BitmapData(64, 64);
- bitmapData.draw(shape);
- var displacementMapFilter:DisplacementMapFilter = new DisplacementMapFilter(bitmapData, new Point(), 0, BitmapDataChannel.RED, 0, 0, DisplacementMapFilterMode.CLAMP);
- Tweensy.to(displacementMapFilter, { scaleY: 30 }, 3, Linear.easeNone, 1, bitmap);
- }
- private function startDropShadowFilter(bitmap:Bitmap):void{
- bitmap.filters = null;
- var dropShadowFilter:DropShadowFilter = new DropShadowFilter(4, 45, 0x666666);
- Tweensy.to(dropShadowFilter, { angle:225 }, 3, Linear.easeNone, 1, bitmap);
- }
- private function startGlowFilter(bitmap:Bitmap):void{
- bitmap.filters = null;
- var glowFilter:GlowFilter = new GlowFilter(0xbf1424, 1, 0, 0, 3);
- Tweensy.to(glowFilter, { blurX: 10, blurY: 10 }, 3, Linear.easeNone, 1, bitmap);
- }
- private function startGradientBevelFilter(bitmap:Bitmap):void{
- bitmap.filters = null;
- var gradientBevelFilter:GradientBevelFilter = new GradientBevelFilter(4, 45, [0xbf1424, 0x500710, 0x000000], [1, 0, 1], [0, 128, 255], 10, 10);
- Tweensy.to(gradientBevelFilter, { angle: 225 }, 3, Linear.easeNone, 1, bitmap);
- }
- private function startGradientGlowFilter(bitmap:Bitmap):void{
- bitmap.filters = null;
- var gradientGlowFilter:GradientGlowFilter = new GradientGlowFilter(0, 0, [0xbf1424, 0x500710, 0xbf1424], [0, 1, 0], [0, 128, 255], 0, 0);
- Tweensy.to(gradientGlowFilter, { blurX: 10, blurY: 10 }, 3, Linear.easeNone, 1, bitmap);
- }
- }
- }
- import flash.display.Graphics;
- import flash.display.Sprite;
- import flash.events.MouseEvent;
- import flash.filters.BevelFilter;
- import flash.text.TextField;
- import flash.text.TextFieldAutoSize;
- import flash.text.TextFormat;
- internal class Button extends Sprite {
- private var _textField:TextField;
- public function get label():String { return _textField.text; }
- public function set label(value:String):void {
- _textField.text = value;
- updateFill();
- }
- public function Button() {
- _textField = new TextField();
- _textField.defaultTextFormat = new TextFormat('_等幅', 10, 0x333333, true);
- _textField.autoSize = TextFieldAutoSize.LEFT;
- _textField.x = 8;
- _textField.y = 4;
- addChild(_textField);
- filters = [new BevelFilter(1, 45, 0xdddddd, 0xbbbbbb)];
- buttonMode = true;
- mouseChildren = false;
- addEventListener(MouseEvent.MOUSE_UP, onButtonMouseUp);
- addEventListener(MouseEvent.MOUSE_DOWN, onButtonMouseDown);
- }
- private function onButtonMouseUp(e:MouseEvent):void {
- var button:Sprite = e.currentTarget as Sprite;
- button.filters = null;
- button.filters = [new BevelFilter(1, 45, 0xdddddd, 0xbbbbbb)];
- }
- private function onButtonMouseDown(e:MouseEvent):void {
- var button:Sprite = e.currentTarget as Sprite;
- button.filters = null;
- button.filters = [new BevelFilter(1, 225, 0xdddddd, 0xbbbbbb)];
- }
- private function updateFill():void {
- graphics.clear();
- graphics.beginFill(0xCCCCCC);
- graphics.drawRect(0, 0, _textField.textWidth + 20, _textField.textHeight + 14);
- graphics.endFill();
- }
- }
About this entry
You’re currently reading “Tweensy - filter,” an entry on jp.ferv.blog
- Published:
- Sat, May 16th, 2009 at 1:26 AM
- Author:
- dsk
- Category:
- Web
- Tags:
- ActionScript 3.0, Tweensy

No comments
Jump to comment form | comments rss | trackback uri