您的位置: 首页 > 技术文档 > 多媒体制作 > Making Things Move 第四章
FLASH小游戏开发 第二节 回到列表 Making Things Move 第三章
 Making Things Move 第四章

作者:alan98 时间: 2008-05-15 文档类型:翻译 来自:蓝色理想

第 1 页 渲染技术 [1]
第 2 页 渲染技术 [2]
第 3 页 渲染技术 [3]
第 4 页 渲染技术 [4]
第 5 页 渲染技术 [5]
第 6 页 渲染技术 [6]
第 7 页 渲染技术 [7]
第 8 页 渲染技术 [8]
第 9 页 渲染技术 [9]

前一章面所看到的绘图示例中,只使用了一些非常简单的绘图指令,前面我们也几次提到了这个神秘的"drawing API",但没有加以详细的解释。本章我们将学习使用 ActionScript 创建视觉元素,其中包括 ActionScript 的颜色,绘图 API , ColorTransform 类,滤镜(filter)和 BitmapData(位图) 类。在本章的很多地方都会用到颜色,那么就先来学习第一课吧。

Flash 中的颜色

在 Flash 中,颜色就是一串特殊的数字,一个颜色值可以是0到16,777,215中的任意数值,这就是24位(bit)色彩。也许大家会问,为什么有16,777,216(256*256*256)种颜色值,因为 Flash 使用 RGB 颜色值,意味着每个颜色都可以由红(red),绿(green),蓝(blue)三种颜色构成。这三种合成色的每一种都是一个从0到255中的数,所以,对于每个红黄蓝都有256种可能的深度,结果会有约1,678万种颜色。

这个系统之所以叫做24位颜色是因为要使用8位(0或1)才能表示256个数值。8位乘以3(红,黄,蓝)意味着需要24位才能表示1678万种颜色值。我们马上还要学到32位色系统,它有额外的8位数值表示透明度(alpha)。

很难想像一个值为11,273,634的颜色是什么样的。因此,开发人员通常采用另一种数值表示系统:十六进制。如果大家在 HTML 中使用过颜色,那么这对于你来说并不会陌生,但不管怎样还是让我们来学习一下这些基础知识吧。

使用十六进制表示颜色值

十六进制(Hexadecimal,简写 hex),以16为基础,每位数都是0到15中的任意一个数,而十进制则是以10为基础,每位数都是0到9中的任意一个数。由于没有可以表示10到15的数,所以要借用字母表的前六个字母,A到F,来表示它们。这样,每个16进制数都可以是0到F中的一个(在 Flash 中,十六进制数不区分大小写,使用A到F或a到f均可)。在 HTML 中使用16进制数,要加上 # 作为前缀加以标识。与其它语言一样,在 ActionScript 中,使用0x作为前缀。比如,十六进制的 0xA 与十进制的10相等,0xF等于15,0x10等于16。在十进制中,每一位都是它右边一位数的十倍,如243表示为2的100倍,4的10倍,3的1倍。在十六进制中,每一位都是它右边一位数的十六倍,如0x2B3表示为2的256倍,B(或11)的16倍,3的1倍。
对于24位来说,就等于0xFFFFFF,此外,这6个十六进制数可以分为三部分。第一部分代表红色,第二部分代表绿色,最后两位表示蓝色,被象征性地记为0xRRGGBB。
记住每一个合成色都可以为0至255(十六进制表示:0x00到0xFF)中的值。因此,红色可以表示为 0xFF0000,表示纯红色,因为它的绿色为0,蓝色为0。同样,0x0000FF表示纯蓝色。

拿11,273,634为例,将它转换为十六进制(稍后为大家介绍一种简单的方法),结果为 0xAC05A2,可以把它分解为 red(红色) = AC,green(绿色) = 05,blue(蓝色) = A2。可以看出red(红色)和blue(蓝色)的值比较高,而绿色几乎没有,我们就可以猜到这个颜色大概为紫色,这是在十进制数中看不出来的。请注意,在 ActionScript 中,使用哪种进制表示都可以,在一个函数中使用颜色值既可使用十进制又可使用十六进制。对于 Flash 来说,11,273,634 和 0xAC05A2 是一个数,只是对于可怜的人类来说后面一种表示法更易读懂。
那么如何在两种进制之间进行转换呢,将十六进制转换为十进制非常容易。只要输出这个十六进制数就可以了,trace 函数会自动将它转换为十进制。
trace(0xAC05A2);
将十进制转换为十六进制要用到 toString(16)函数,如:
trace((11273634).toString(16));
输出结果为ac05a2,如果要使用这个数,不要忘记加上0x。

透明度和32位色

前面提到过,除了24位色以外,还有32位色,多出8位用于表示透明度。就像角度制与弧度制一样(第三章内容),AS 3 在24和32位色的使用上有些混杂。AS 3 的绘图 API 很大程度上是基于 Flash MX(Flash 6) 建立的,总之,绘图 API 函数使用一个特殊的参数来指定透明度,所以还要延用24位色。另外, BitmapData 类,是从 Flash  8 才加入的,并且使用的是32位色彩。如果大家对某个函数使用哪种色彩体系有疑问的话,请查看 ActionScript 参考手册。

我们可以使用十六进制以 0xRRGGBB 这样的格式来表示一个色彩值。同样,32位的颜色也是如此,以 0xAARRGGBB 这样的格式来表示,其中 AA 表示透明度。因此,0xFFFFFFFF 就表示不透明的白色,0x00FFFFFF 表示完全透明的白色,而 0x80FFFFFF 表示近似 50%透明度的白色。

出处:蓝色理想
责任编辑:bluehearts

上一页 下一页 渲染技术 [2]

◎进入论坛RIA设计与应用版块参加讨论

相关文章 更多相关链接
FLASH小游戏开发 第二节
用photoshop制作文字波动动画
制作旗帜飘扬动画
Making Things Move 第三章
Silverlight制作逐帧动画
作者文章
Making Things Move 第三章
Making Things Move 第二章
Making Things Move 第一章
贪吃蛇游戏代码翻译
热门搜索:CSS Fireworks 设计比赛 网页制作 web标准 用户体验 UE photoshop Dreamweaver Studio8 Flash 手绘 CG
站点最新 站点最新列表
周大福“敬•自然”设计大赛开启
国际体验设计大会7月将在京举行
中国国防科技信息中心标志征集
云计算如何让安全问题可控
云计算是多数企业唯一拥抱互联网的机会
阿里行云
云手机年终巨献,送礼标配299起
阿里巴巴CTO王坚的"云和互联网观"
1499元买真八核 云OS双蛋大促
首届COCO桌面手机主题设计大赛
栏目最新 栏目最新列表
浅谈JavaScript编程语言的编码规范
如何在illustrator中绘制台历
Ps简单绘制一个可爱的铅笔图标
数据同步算法研究
用ps作简单的作品展示页面
CSS定位机制之一:普通流
25个最佳最闪亮的Eclipse开发项目
Illustrator中制作针线缝制文字效果
Photoshop制作印刷凹凸字体
VS2010中创建自定义SQL Rule
>> 分页 首页 前页 后页 尾页 页次:1/91个记录/页 转到 页 共9个记录 分享按钮

蓝色理想版权申明:除部分特别声明不要转载,或者授权我站独家播发的文章外,大家可以自由转载我站点的原创文章,但原作者和来自我站的链接必须保留(非我站原创的,按照原来自一节,自行链接)。文章版权归我站和作者共有。

转载要求:转载之图片、文件,链接请不要盗链到本站,且不准打上各自站点的水印,亦不能抹去我站点水印。

特别注意:本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有,文章若有侵犯作者版权,请与我们联系,我们将立即删除修改。

您的评论
用户名:  口令:
说明:输入正确的用户名和密码才能参与评论。如果您不是本站会员,你可以注册 为本站会员。
注意:文章中的链接、内容等需要修改的错误,请用报告错误,以利文档及时修改。
不评分 1 2 3 4 5
注意:请不要在评论中含与内容无关的广告链接,违者封ID
请您注意:
·不良评论请用报告管理员,以利管理员及时删除。
·尊重网上道德,遵守中华人民共和国的各项有关法律法规
·承担一切因您的行为而直接或间接导致的民事或刑事法律责任
·本站评论管理人员有权保留或删除其管辖评论中的任意内容
·您在本站发表的作品,本站有权在网站内转载或引用
·参与本评论即表明您已经阅读并接受上述条款
推荐文档 | 打印文档 | 评论文档 | 报告错误  
专业书推荐 更多内容
网站可用性测试及优化指南
《写给大家看的色彩书1》
《跟我去香港》
众妙之门—网站UI 设计之道
《Flex 4.0 RIA开发宝典》
《赢在设计》
犀利开发—jQuery内核详解与实践
作品集 更多内容

杂⑦杂⑧ Gold NORMANA V2