[ActionScript 3.0] 运用Color类interpolateColor静态方法绘制渐变色
2024-09-27 04:26:13
以下类可直接作为文档类测试,效果如图:
package
{
import fl.motion.Color;
import flash.display.GradientType;
import flash.display.Shape;
import flash.display.Sprite;
import flash.events.MouseEvent;
import flash.geom.Matrix; /**
* ...
* @author FrostYen
*/
[SWF(width=700,height=800,backgroundColor=0x000000)]
public class GradientColor extends Sprite
{
public function GradientColor():void
{
setGradient(0xDFB920, 0x0000FF,70);
} /**
* 绘制从一种颜色过渡到另一种颜色的色块
* @param fromColor 开始颜色值
* @param toColor 最终颜色值
* @param total 色块数量
*/
public function setGradient(fromColor:uint,toColor:uint,total:int):void
{
for (var i:int=0; i<total; i++)
{
var pro:Number=Math.ceil(1/(total-1)*i*100)/100;
var newcolor:uint = Color.interpolateColor(fromColor,toColor,pro);
var rect:Sprite=new Sprite();
rect.graphics.beginFill(newcolor);
rect.graphics.drawRect(0,0,30,30);
rect.graphics.endFill();
rect.x = 100 + 50 * (i % 10);
rect.y=100+50*Math.floor(i/10);
addChild(rect);
rect.name = newcolor.toString(16);
rect.addEventListener(MouseEvent.CLICK,onClick);
} var shape:Shape = new Shape();
var cols:Array = [fromColor,toColor];
var alphas:Array = [1,1];
var rats:Array = [0,255];
var matr:Matrix = new Matrix();
matr.createGradientBox(480, 100, 0, 0, 0);
shape.graphics.clear();
shape.graphics.beginGradientFill(GradientType.LINEAR,cols,alphas,rats,matr);
//渐变填充颜色;
shape.graphics.drawRect(0,0,480,100);
shape.graphics.endFill();
shape.x = 100;
shape.y = this.stage.stageHeight - 150;
this.addChild(shape);
} private function onClick(e:MouseEvent):void
{
trace(e.currentTarget.name);//得出点击对象的颜色值
}
} }
最新文章
- CSS3新技能学习笔记
- ie8 table td拆分宽度不适应问题
- [linux basic 基础]----线程的属性
- mysql函数计算地表两点间距离
- 【Anagrams】 cpp
- Java IO之File
- 《锋利的jQuery》心得笔记--Four Sections
- .NET复习笔记
- platform_driver_register(),platform_device_register()区别
- 【CSS】Beginner6:Border
- namespace命名空间
- AtomicInteger的用法
- ElasticSearch5在Ubuntu系统下的安装和Java调用
- Win10下C:\Users\John以账户名称命名的系统文件夹用户名的修改
- HDU - 2147 kiki's game 巴什博弈
- nignx笔记1
- Disruptor-架构思维的转变
- redhat7.2安全基线BI
- 《算法导论》——计数排序Counting Sort
- 理顺FFT