Flash小品之颜色解析
发布时间:2020-12-15 06:31:24 所属栏目:百科 来源:网络整理
导读:?? ?Flash小品之颜色解析???? ?? ??不知不觉已经用了一阵子的AS3,渐渐的对Flash有了不少好感,从一个游戏爱好者的角度出发,我个人更喜欢将Flash看做是一套完备的2D游戏制作引擎,平日兴致所致之时,自己便用它来随便搞些东西,开发效率上确实提高了不少,
?? ?Flash小品之颜色解析???? /*! 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 constructor public function ARGBColor(value:uint=0) { SetColor(value); } //! set color value public function SetColor(value:uint):void { splitColor(value); } //! set color value public function SetColorARGB(a:uint,r:uint,g:uint,b:uint):void { SetA(a); SetR(r); SetG(g); SetB(b); } //! get color value public function GetColor():uint { return mergeColor(); } //! set alpha value public function SetA(a_:uint):void { a = a_; a = clamp(a,0xFF); } //! get alpha value public function GetA():uint { return a; } //! set red value public function SetR(r_:uint):void { r = r_; r = clamp(r,0xFF); } //! get red value public function GetR():uint { return r; } //! set green value public function SetG(g_:uint):void { g = g_; g = clamp(g,0xFF); } //! get green value public function GetG():uint { return g; } //! set blue value public function SetB(b_:uint):void { b = b_; b = clamp(b,0xFF); } //! get blue value public function GetB():uint { return b; } // split color private function splitColor(value:uint):void { a = ((value >> 24) & 0xFF); // seems in Flash '>>' is signed shfiting r = ((value >> 16) & 0xFF); g = ((value >> 8) & 0xFF); b = (value & 0xFF); } // merge color private function mergeColor():uint { return (a << 24) | (r << 16) | (g << 8) | b; } // clamp helper function private function clamp(val:Number,min:Number,max:Number):Number { return Math.max(min,Math.min(max,val)); } } } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |