[ActionScript 3.0] 运用Color类interpolateColor静态方法绘制渐变色
2015-06-19 17:10
281 查看
以下类可直接作为文档类测试,效果如图:
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);//得出点击对象的颜色值 } } }
相关文章推荐
- SQL AlawaysOn 之五:ISCSI共享磁盘
- GUI--事件处理
- FFmpeg 基本用法
- 监听Android的Home键碰到的问题
- Jquer Easyui Tree 异步加载
- performClick使用注意事项
- Java关键字学习总结
- 【导航】微信开发者相关网址导航
- 比美图还要简单的在线photoshop
- 关于Fatal Error in GC : Too Many threads
- Android应用开发多语言Value文件夹
- 第十五周 程序阅读三
- NlS 项目
- 怎么对高八位或低八位写值而不影响其它位,还有怎样单独读取高八位或低八位的值
- java连接mysql数据库的方法
- LED跑马灯之二
- Android实现简单的地图
- 大型网站的灵魂——性能
- centos下varnish的安装
- JDBC实例之—手机号码归属地查询(控制台版本)