このようなFlash、よく見るので調べて作ってみた。
参考)
ムービークリップの色を変化させる
http://www.project-nya.jp/modules/weblog/details.php?blog_id=468
このソースを頂戴し、さらにTweenerを使って色から色へ自動的に段階的に変えています。
↓ ソースコード
ACTIONSCRIPT:
- package {
- import caurina.transitions.Tweener;
- import flash.display.Sprite;
- import flash.geom.ColorTransform;
- import flash.utils.*;
- public class ColorTest extends Sprite
- {
- private var circle:Sprite;
- private var colorListIndex:Number = 0;
- // 色のリスト
- private var colorList:Array = [0xFF9999, 0x99FF99, 0x9999FF, 0xFFFF99, 0x99FFFF ];
- private var gradeMax:Number = 100;
- private var baseColor:Number = 0xFF0000;
- private var targetColor:Number = 0x0000FF;
- public var grade:Number = 0;
- public function ColorTest()
- {
- stage.scaleMode = "noScale";
- stage.align = "TL";
- circle = new Sprite;
- circle.graphics.beginFill(colorList[colorListIndex]);
- circle.graphics.drawCircle(100,100,95);
- circle.graphics.endFill();
- this.addChild(circle);
- changeColor();
- }
- private function changeColor():void{
- grade = 0;
- // 今の色
- baseColor = this.colorList[colorListIndex];
- colorListIndex++;
- if(colorListIndex>= colorList.length) colorListIndex = 0;
- // 次の色
- targetColor = this.colorList[colorListIndex];
- Tweener.addTween(this, {grade:100, time:2, onUpdate:this.updateColor, onComplete:this.changeColor});
- }
- private function updateColor():void{
- var baseObj:Object = this.colorToRGB(baseColor);
- var targetObj:Object = this.colorToRGB(targetColor);
- var r:Number = baseObj.r + Math.round((targetObj.r - baseObj.r)/gradeMax*grade);
- var g:Number = baseObj.g + Math.round((targetObj.g - baseObj.g)/gradeMax*grade);
- var b:Number = baseObj.b + Math.round((targetObj.b - baseObj.b)/gradeMax*grade);
- circle.transform.colorTransform = new ColorTransform(0, 0, 0, 100, r, g, b, 0);
- }
- public function colorToRGB(clr:Number):Object {
- var r:Number = (clr & 0xFF0000)>> 16;
- var g:Number = (clr & 0x00FF00)>> 8;
- var b:Number = clr & 0x0000FF;
- var obj:Object = {r: r, g: g, b: b};
- return obj;
- }
- }
- }
- Newer: ライブ告知などなど。
- Older: FIVe3Dで3Dテンキー
Comments:0
Trackbacks:0
- Trackback URL for this entry
- http://parpue.net/web/380/trackback
- Listed below are links to weblogs that reference
- Flashで色を次々に、スムーズに変える from parpue.net


