[原创图书]《ActionScript3.0游戏中的图像编程》连载——前言

1946年,计算机在第三次工业革命的推动下得以诞生并发展。从此地球上多了一类人,他们的世界很简单,每天不是和0接触,就是跟1来往。他们低调做人,高调做事,他们务实为民,不求名利,他们,就是可爱可人,可歌可泣的IT工作者——程序员!

都说程序员不善表达,没错,离开0和1,程序员就几乎不会说话了。与此同时,程序员也恰恰是最善于表达的人,他们只用0和1这两个数字,就可以准确无误地将用户的需求传达给电脑并使其正确运行,其语言之简炼,其算法之精准,其逻辑之严谨,其结果之准确,试问除了程序员,还有谁可以做得到?因此,与其说程序员不善表达,还不如说是外行人没读懂程序员的世界。

曾经有不知多少个夜晚,255这个数字让我辗转反侧,彻夜难眠。对于程序员来说,255是个神圣的数字,是一个8位二进制字节可以表示的最大整数,它代表了饱满,象征着完美,是程序员至高无上的追求。但每当别人问起我最近在忙啥,我都愣住了,为255翻滚的思绪总是难以言表。因为我心里面很明白,在他们眼里,255只是个再普通不过的数字而已,真要说给他们听,不是换来朋友的不解,就是招来旁人的嘲讽。

然而,让我感到欣慰的是,随着数字图像技术的日益发展,代码已经不再是程序员的专利,255也逐渐走上艺术的舞台为人所知,它既可以描绘漫天飘雪的北国风光,也可以抒发樱花绽放的浪漫情怀,既能让你驰骋在一马平川的绿野平原,也能使你陶醉于宁静深邃的碧海蓝天......所有这些梦境般的画面,都有着一个共同点:至少有一种颜色的光会100%地反射到我们的眼球,而在计算机图像领域,用于表示100%的,正是这个代表完美的数字——255!

就这点而言,无论是对美术一窍不通的程序员,还是对程序涉足尚浅的设计师,乃至与这两行业都绝缘的同胞们,都应拥有“艺术家”这一称号,因为不懈地追求完美,正是艺术家生活态度的重要体现,而本书更是艺术与科学完美结合的产物。

因此,本书面向的读者群比较广泛,只要您热爱生活,或者喜欢艺术,抑或拥有一颗追求完美的心,就一定可以在本书中找到适合自己的内容,而且本书的重点在于讲解艺术编程的思想,无论是站在艺术的角度来诠释,还是从技术的层面来解读,本书都经得起时间的考验和世俗的漂染。它不会因为手游市场的异军突起而备受冷落,不会因为html5的横空出世而迷失自我,更不会因为软件的更新换代而销声匿迹。它就像一杯绿茶,香久益清,味久益醇,每个时代都赋予它不同的气息,弥散于地球的每一个角落,给这个浮躁的社会开辟了一片又一片的净土。

可见,艺术是一个很广泛的话题,我几乎不可能通过一本书就涉及到艺术编程的方方面面。因此,先选定一个合适的领域,再围绕相关的技术点逐一展开进行讨论,对笔者和读者而言,思路都会更加清晰。

在IT界,最典型,最受关注的艺术编程形式莫过于游戏开发了。所以本书会从游戏中较为关键的技术点触发,向读者讲述自己对艺术编程的一些不太深入的理解,以求抛砖引玉,让更多的读者加入到该领域,共同探讨程序的精妙与艺术的真谛所在。

本书主要面向传统FlashPlayer(即Stage3D以前的版本)进行开发,同时会介绍FlashPlayer11的部分新功能对艺术编程的影响及应用领域。读者不必担心旧版的功能可能会被淘汰,本书的重点是艺术编程的思想,在艺术的字典里,只有对经典的诠释,绝无对过时的遗弃。

在游戏开发过程中,场景,界面,人物,动画,特效等美术元素多半通过导入美术设计师制作好的素材,然后通过程序控制其显示隐藏,播放暂停,以实现需求中的交互效果。然而,并非所有的美术素材都适合直接导入到游戏中,尤其在中国这片沉淀了五千多年汉字文化的土地上,将数以千计,笔划复杂的字符全部嵌入其中,对于网速尚未发达的天朝来说,将是一个相当致命的举措。

大多数情况下,开发人员都通过调用操作系统中的默认字体(设备字体)来显示游戏中的文本内容,但是,这仅有的几种字体在大多数情况下都过于古板,与活泼生动的游戏画面往往不太搭调,而且在目前的电脑操作系统中,设备字体往往会出现各种较为刺眼的锯齿,对游戏的美观性将造成不同程度的破坏。

因此,调用到设备字体以后,我们往往需要对其进行一些美化处理,比如消除锯齿,描边,变形等等,以提高设备字体与整个游戏的融合度。本书就以设备字体的处理为中心,和大家一起探讨图像艺术编程的点点滴滴。

在Windows系统里,比较常用的有宋体,黑体,楷体,隶书等,宋体过于单薄,而楷体和隶书艺术感稍强,相比之下,字型浑厚有力,且没有太多修饰的黑体就比较合适了。但黑体也有一些不足,比如边缘过于生硬,整体感略显古板,几经纠结,我决定使用稍加修饰过的,Windows7年代才开始在中国普及的微软微黑设备字体来进行图形处理和特效制作。

言归正传,本书属于中高级编程书籍,所以我会假设您已经具备一定的AS3编程基础,掌握了AS3的基本语法,并熟悉常用的api,我不会再就这些方面进行详细而深入的讲解。所以,对AS3尚没有太多了解的设计师朋友或者之前使用其他程序语言的开发者们,在阅读本书之前,建议先购买一到两本讲解基础的书以便及时查阅。我个人比较推荐的几本书有:《ActionScript3.0 Cookbook》、《ActionScript3.0权威指南》、《Flash
ActionScript3.0 从入门到精通》、《ActionScript3.0溢彩编程》(该书非常适合设计师阅读)、《ActionScript3.0图像处理基础教程》。

此外,在开始阅读本书之前,我建议读者先配置好开发的环境,以确保书中的代码在您的计算机上可以正常编译与运行,对开发环境配置不太熟悉的朋友可以参阅本书的附录。

一切准备就绪,艺术编程之旅正式启航!

[原创图书]《ActionScript3.0游戏中的图像编程》连载——前言,布布扣,bubuko.com

时间: 2024-12-09 15:51:22

[原创图书]《ActionScript3.0游戏中的图像编程》连载——前言的相关文章

原创教程“ActionScript3.0游戏中的图像编程”开始连载啦!

        经过近两年的不懈努力,笔者的原创教程“ActionScript3游戏中的图像编程”终于在今日划上了完美的句号!这当中记录着笔者多年来在游戏制作,尤其是当中图像处理方面的经验心得.虽然使用的语言是目前可能正在没落的ActionScript3.0,但由于其中渗透着深刻的编程思想和实用技巧,因此其意义已经远远超越了ActionScript本身.您可以把从本书学到的知识轻松移植到其他支持图像编程的开发语言中(我也想换个语言重写,可惜精力不足).         此外,本书还包含了一些颜色

原创图书《ActionScript3.0游戏中的图像编程》开始连载啦!

        经过近两年的不懈努力,笔者的原创图书<ActionScript3游戏中的图像编程>终于在今日划上了完美的句号!这当中记录着笔者多年来在游戏制作,尤其是当中图像处理方面的经验心得.虽然使用的语言是目前可能正在没落的ActionScript3.0,但由于其中渗透着深刻的编程思想和实用技巧,因此其意义已经远远超越了ActionScript本身.您可以把从本书学到的知识轻松移植到其他支持图像编程的开发语言中(我也想换个语言重写,可惜精力不足).         此外,本书还包含了一些颜

[原创]ActionScript3游戏中的图像编程(连载三十一)

2.2.4 Photoshop转Flash的投影角度换算 继续往下看,Photoshop不透明度选项下面是投影角度,默认值是120°,而Flash里角度是45°,两者相差将近90°,投影角度却相近,为什么?让我们把Flash的投影滤镜也设置成120°.(图 2.20) 图 2.20 角度值等于120的Flash投影 投影跑左边去了,x方向与Photoshop里的投影位置截然相反.经观察,Flash投影的角度与ActionScript的坐标系完全一致,它等于当前方向与水平线的夹角,顺时针为正,逆时

[原创]ActionScript3游戏中的图像编程(连载二十八)

2.2.1 投影颜色与透明度的模拟 默认的投影滤镜看着比Photoshop的投影样式浑浊,究其原因,似乎是颜色太深所致.(图 2.11). 图 2.11 设置默认投影滤镜后的效果 下面回到Photoshop查看其默认的投影参数(图 2.12). 图 2.12 Photoshop默认投影样式的参数 茫茫人海,我还是第一眼发现了你——颜色样本块.同是黑色,RGB都等于0,怎么差别还这么大?看来是A通道——不透明度惹的祸.从图 2.12中,我们看到Photoshop里对阴影设置了75%的不透明度,那F

[原创]ActionScript3游戏中的图像编程(连载二十七)

2.2 Photoshop投影样式在Flash基本滤镜中的体现 作为上帝的另一个化身,Flash在图层样式方面自然也不甘示弱,不过在Flash里面,它有另外一个名字——滤镜(仅仅从概念上说,Flash的滤镜包含了Photoshop里的图层样式和滤镜). 下面就让我们打开Flash CS6/5.5,一起在滤镜里寻找Photoshop图层样式的影子吧,同时,我们先暂时把Photoshop的图层样式清除掉(把样式前面那些复选框的勾全部去掉即可). 先新建一个文档(“文件”——“新建”或Ctrl+N),

[原创]ActionScript3游戏中的图像编程(连载三十四)

2.2.7 关于Photoshop的图层挖空投影 在Photoshop里面,不管图层挖空投影的复选框是否处于勾选状态,显示出来的效果都几乎没有任何差别.那这个挖空的作用何在?不急,我们看看Flash里的挖空选项. Flash里的挖空很明显,图 2.23展示了挖空后的效果. 图 2.23 Flash的挖空投影 Flash的投影滤镜把常规显示的像素颜色都掏空了.从挖空的现象和隐藏对象的字面意思来看,两者含义似乎一致,但结果却出乎我的意料.(图 2.24) 图 2.24 隐藏对象 可见,投影与文字本身

[原创]ActionScript3游戏中的图像编程(连载三十五)

2.2.8 Photoshop品质初探——杂色 重新回到Photoshop的品质选项,首先,杂色一项似乎更容易理解,我们尝试拖到30%,可以看到投影上多了一些杂点(图 2.29).数值越大,杂色越多,很适合用来模拟锈迹或者羊皮纸等粗糙的表面. 图 2.29 设置30%的杂色 杂色上方的等高线可谓Photoshop图层样式最最精华之处了,下面我们就来探讨一下. 现在先把杂点一项重置为0. [原创]ActionScript3游戏中的图像编程(连载三十五)

[原创]ActionScript3游戏中的图像编程(连载三十六)

2.2.9 Photoshop品质初探——等高线 我们点击等高线图标右侧的箭头,将弹出一个曲线列表(图 2.30). 图 2.30 等高线下拉列表 点击第二行第4个图标看看(图 2.31).哇塞,一个逆天的浮雕式投影效果. 图 2.31 给投影样式设置等高线 下面我们不妨开一下小差,做点好玩的东东,比如给投影拉出一点杂色,再将文字调成灰色(#CCCCCC),填充不透明度80%,同时把图层的混合模式改为“溶解”(混合模式将在后续章节给出详细的介绍),投影的挖空去掉,看起来就想雕刻在石碑上的文字.(

[原创]ActionScript3游戏中的图像编程(连载三十三)

2.2.6 Photoshop投影扩展参数在Flash滤镜中的体现 拖动Photoshop扩展项的滑块,和拉动Flash强度项的数值框,会发现它们要做的事情都一样,在于控制阴影扩展的强度,数值越大,强度越高,阴影色越不透明,阴影的有效区域也就越大. 然而,它们的取值范围让我感到相当地迷茫.Photoshop的范围为0%~100%,而Flash则是0%~25500%,而且它们的变化规律也有点难以捉摸,在Photoshop里,匀速向右拖动滑块,投影变大的速度比较均匀(事实上受小数像素的影响,有时投影