Flash小品之颜色解析
来源:互联网 发布:中级网络安全工程师 编辑:程序博客网 时间:2024/04/20 04:34
Flash小品之颜色解析
不知不觉已经用了一阵子的AS3,渐渐的对Flash有了不少好感,从一个游戏爱好者的角度出发,我个人更喜欢将Flash看做是一套完备的2D游戏制作引擎,平日兴致所致之时,自己便用它来随便搞些东西,开发效率上确实提高了不少,很多开发上的细节Flash基本都已经提供实现,再加上其完善的编辑功能,我个人非常推崇将其用于原型游戏的开发,有兴趣的朋友不妨一试 :)
近来有机会处理到了Bitmap相关的内容,尤其是颜色部分的处理,感觉Flash提供的方法,譬如BitmapData.getPixel,BitmapChannel等等,都不是特别方便直观,尤其是在需要处理各个颜色分量的情况下。鉴于Flash内置的颜色模式遵循‘a r g b’的排列方式,自己又暂时找不到特别好的处理方法(有识之士请告知一下 :)),于是自己又重造了一次车轮,在此为记,有兴趣的朋友可以看一看:
/*! \file ARGBColor.as \brief this is simple color class for color converting*/package {public class ARGBColor{// color value private var a:uint;private var r:uint;private var g:uint;private var b:uint;// default constructorpublic function ARGBColor(value:uint=0){SetColor(value);}//! set color valuepublic function SetColor(value:uint):void{ splitColor(value);}//! set color valuepublic function SetColorARGB(a:uint, r:uint, g:uint, b:uint):void{SetA(a);SetR(r);SetG(g);SetB(b);}//! get color valuepublic function GetColor():uint{return mergeColor();}//! set alpha valuepublic function SetA(a_:uint):void{ a = a_;a = clamp(a, 0, 0xFF);}//! get alpha valuepublic function GetA():uint{return a;}//! set red valuepublic function SetR(r_:uint):void{r = r_;r = clamp(r, 0, 0xFF);}//! get red valuepublic function GetR():uint{return r;}//! set green valuepublic function SetG(g_:uint):void{g = g_;g = clamp(g, 0, 0xFF);}//! get green valuepublic function GetG():uint{return g;}//! set blue valuepublic function SetB(b_:uint):void{b = b_;b = clamp(b, 0, 0xFF);}//! get blue valuepublic function GetB():uint{return b;}// split colorprivate function splitColor(value:uint):void{ a = ((value >> 24) & 0xFF); // seems in Flash '>>' is signed shfitingr = ((value >> 16) & 0xFF);g = ((value >> 8) & 0xFF);b = (value & 0xFF);}// merge colorprivate function mergeColor():uint{return (a << 24) | (r << 16) | (g << 8) | b;}// clamp helper functionprivate function clamp(val:Number, min:Number, max:Number):Number{ return Math.max(min, Math.min(max, val)); }}}
- Flash小品之颜色解析
- 小品
- uboot之Nor flash操作完全解析
- Android颜色选择器之案例解析
- flash 渐变颜色
- 小品人生
- 生活小品
- 霓虹灯颜色渐变flash素材
- Flash 文件格式解析
- Flash player绘图解析
- Flash格式的解析
- android:#FFFFFFFF 颜色 解析
- 颜色矩阵 原理解析
- 颜色矩阵原理解析
- CSS颜色解析
- 小品:计算机研究课题产生器
- 小品: 关于"C++引用"
- 2007春节联欢晚会小品《送礼》
- Nginx安装与配置
- Linux系统中如何添加自己的库文件路径
- (转)Linux 关于动态链接库以及静态链接库的一些概念
- linux 利用 lynx 通过命令行上网
- Embedded - Define 宏定义
- Flash小品之颜色解析
- 探索C++的秘密之详解extern "C"
- 在JSP中创建文件夹和文件
- 基于one2team框架的Highcharts图表图片导出方案
- [Javascript]HTML5中script的async属性异步加载JS
- android去掉标题栏、信息栏、获取屏幕分辨率、图片全屏
- 服务器建立信任关系
- [Android]在App中使用相机
- Spring Batch 之 Sample(CSV文件操作)(四)