Tweensy - color
TweensyでColorTransformのプロパティをアニメーションしてみる。ColorTransformオブジェクトを作ってそのColorTransformオブジェクトのプロパティをTweensyでTweenするイメージ。で、updateパラメータにそのColorTransformを適用するインスタンスを指定する。
- ActionScript
- TestTweensy_7.as
- Source
package {
import com.flashdynamix.motion.Tweensy;
import fl.motion.easing.Linear;
import flash.display.Bitmap;
import flash.display.Sprite;
import flash.events.MouseEvent;
import flash.geom.ColorTransform;
import flash.text.TextField;
import flash.text.TextFieldAutoSize;
import flash.text.TextFormat;
[SWF(backgroundColor = 0x000000, width = 600, height = 400, frameRate = 30)]
public class TestTweensy_7 extends Sprite {
[Embed (source="fl_64.png")]
private var SampleImage:Class;
private var _bitmaps:Array;
public function TestTweensy_7() {
initBitmaps();
initButton();
}
private function initBitmaps():void{
_bitmaps = [];
var texts:Array = [
'redMultiplier: 0.5', 'greenMultiplier: 0.5', 'blueMultiplier: 0.5',
'alphaMultiplier: 0.5', 'redOffset: 100', 'greenOffset: 100',
'blueOffset: 100', 'alphaOffset: -100', 'color: 0x0099cc'
];
var textFormat:TextFormat = new TextFormat('_等幅', 10, 0xffffff);
var i:int, bitmap:Bitmap, textField:TextField;
for (i = 0; i < texts.length; i ++) {
bitmap = new SampleImage();
bitmap.x = 120 + 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 - 10;
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 {
Tweensy.to(new ColorTransform(), { redMultiplier: 0.5 }, 3, Linear.easeNone, 1, _bitmaps[0]);
Tweensy.to(new ColorTransform(), { greenMultiplier: 0.5 }, 3, Linear.easeNone, 1, _bitmaps[1]);
Tweensy.to(new ColorTransform(), { blueMultiplier: 0.5 }, 3, Linear.easeNone, 1, _bitmaps[2]);
Tweensy.to(new ColorTransform(), { alphaMultiplier: 0.5 }, 3, Linear.easeNone, 1, _bitmaps[3]);
Tweensy.to(new ColorTransform(), { redOffset: 100 }, 3, Linear.easeNone, 1, _bitmaps[4]);
Tweensy.to(new ColorTransform(), { greenOffset: 100 }, 3, Linear.easeNone, 1, _bitmaps[5]);
Tweensy.to(new ColorTransform(), { blueOffset: 100 }, 3, Linear.easeNone, 1, _bitmaps[6]);
Tweensy.to(new ColorTransform(), { alphaOffset: -100 }, 3, Linear.easeNone, 1, _bitmaps[7]);
// 色を指定してアニメーションする場合
var colorTransform:ColorTransform = new ColorTransform();
colorTransform.color = 0x0099cc;
Tweensy.to(new ColorTransform(), colorTransform, 3, Linear.easeNone, 1, _bitmaps[8]);
}
}
}
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.Tweensy;
- import fl.motion.easing.Linear;
- import flash.display.Bitmap;
- import flash.display.Sprite;
- import flash.events.MouseEvent;
- import flash.geom.ColorTransform;
- import flash.text.TextField;
- import flash.text.TextFieldAutoSize;
- import flash.text.TextFormat;
- [SWF(backgroundColor = 0x000000, width = 600, height = 400, frameRate = 30)]
- public class TestTweensy_7 extends Sprite {
- [Embed (source="fl_64.png")]
- private var SampleImage:Class;
- private var _bitmaps:Array;
- public function TestTweensy_7() {
- initBitmaps();
- initButton();
- }
- private function initBitmaps():void{
- _bitmaps = [];
- var texts:Array = [
- 'redMultiplier: 0.5', 'greenMultiplier: 0.5', 'blueMultiplier: 0.5',
- 'alphaMultiplier: 0.5', 'redOffset: 100', 'greenOffset: 100',
- 'blueOffset: 100', 'alphaOffset: -100', 'color: 0x0099cc'
- ];
- var textFormat:TextFormat = new TextFormat('_等幅', 10, 0xffffff);
- var i:int, bitmap:Bitmap, textField:TextField;
- for (i = 0; i < texts.length; i ++) {
- bitmap = new SampleImage();
- bitmap.x = 120 + 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 - 10;
- 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 {
- Tweensy.to(new ColorTransform(), { redMultiplier: 0.5 }, 3, Linear.easeNone, 1, _bitmaps[0]);
- Tweensy.to(new ColorTransform(), { greenMultiplier: 0.5 }, 3, Linear.easeNone, 1, _bitmaps[1]);
- Tweensy.to(new ColorTransform(), { blueMultiplier: 0.5 }, 3, Linear.easeNone, 1, _bitmaps[2]);
- Tweensy.to(new ColorTransform(), { alphaMultiplier: 0.5 }, 3, Linear.easeNone, 1, _bitmaps[3]);
- Tweensy.to(new ColorTransform(), { redOffset: 100 }, 3, Linear.easeNone, 1, _bitmaps[4]);
- Tweensy.to(new ColorTransform(), { greenOffset: 100 }, 3, Linear.easeNone, 1, _bitmaps[5]);
- Tweensy.to(new ColorTransform(), { blueOffset: 100 }, 3, Linear.easeNone, 1, _bitmaps[6]);
- Tweensy.to(new ColorTransform(), { alphaOffset: -100 }, 3, Linear.easeNone, 1, _bitmaps[7]);
- // 色を指定してアニメーションする場合
- var colorTransform:ColorTransform = new ColorTransform();
- colorTransform.color = 0x0099cc;
- Tweensy.to(new ColorTransform(), colorTransform, 3, Linear.easeNone, 1, _bitmaps[8]);
- }
- }
- }
- 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 - color,” an entry on jp.ferv.blog
- Published:
- Fri, May 15th, 2009 at 11:57 AM
- Author:
- dsk
- Category:
- Web
- Tags:
- ActionScript 3.0, Tweensy

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