前言
在我们的印象中,flash是基于矢量的一套设计软件,位图不利于缩放,而且位图的每个点的位置和颜色必须存储,所以位图文件会比较大。所以,一般flash里用到的几乎都是矢量图资源。由于像素画是很特别的一种位图形式,所以相对于矢量,它在flash里还是有自己优势的。下面要和大家讨论的就是flash和像素画的结合运用。
像素图的准备
像素图的绘制工具本人还是推荐Photoshop;当然有些达人坚持直接用画板画,偶感觉操作是很不方便的。至于怎么画,这里就不说了。导入flash
这步是问题比较多的一步,flash太智能了。在我感觉中,它有n多帮助你优化和平滑图片的功能,导入,导出,生成动画时都会帮你优化。而对于像素图来说,这些都是不需要的,甚至是适得其反的。像素的特点就是不平滑,它不需要anti-alas(抗锯齿)发挥功能。容易出问题的步骤就是生成元件的问题。
我们看这两张图:
(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/fjc/)左边那张明显错位了几个像素。有很多人会问,在flash里处理的时候都是一样的,而且没有发生错位,怎么有的图形在导出动画后会发生错位呢?原因就是这步:
如果在导入做好的像素图后,直接在时间轴上生成补间动画,库里会出现补间的图形元件,也可以生成动画。看似没有问题,但是导出影片后,经常会出现上述错误,像素图是严谨的,不允许尺寸发生任何的拉伸,偶也不知道这个过程发生了什么拉伸,总之大家不要那么做比较好。
我的办法是在导入后,右击图片,将其转换为mc,取个好名字,于是万事大吉,这个mc元件无论你怎么调用,怎么导出,都不会发生错位和变形了。当然,你也可以在右击时转换成图形元件,不过我感觉图形元件这个功能MM迟早要把他去掉。
制作动画
这个环节是flash里的关键环节,能做出什么样的动画就靠你的想象力了。偶初步尝试了一下开火车的效果,还算理想,就是头上那个例子。
(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/fjc/)在讲这个例子前,要把像素画里一个普遍使用的角度给大家介绍一下,那就是传说中的22.6度双点线组合,如下图:
22.6度线流畅整洁,这是放大800倍的效果,缩小上色后就是这样:
那么我就以这种形式的像素图来说运动方式。这时候要造成视觉上的立体感,就不能像平面图那样左右移,上下移了,更不能乱移动。在那张放大800倍的图中,我们看到,像素格是按照22.6度的方向2格2格递进的,那么对于黄色的长方体来说,要沿着它坐标延伸的方向移动,在flash里的坐标变化就应该是:
x变化2-y变化1 的比例。于是如果我们把它当成火车mc,命名为:move_train。
帧上的as就应该是:
this.onEnterFrame = function() {move_train._x += 2; //move_train._x递增2
move_train._y++; //move_train._y递增1
}
这样,火车就沿着22.6度线平滑移动了。有些朋友要问,不就是个移动的效果吗,不用as,直接放在动画里可以吗?
我开始也是那么想的,从原理上来说,把开始坐标和结束坐标的 x,y递增设置为2:1,在场景里调整关键帧的坐标就可以了。但实际上这样是行不通的,因为像素图的最小单元格是1px,而flash是0.1px,当帧数对于运动经过的像素路程不平均的时候,就会很不平滑。于是看起来就像 越野火车。
到这里,这篇火车的教程就完了,例子中火车的gif图才不到10k,事实上由于像素图用色的规范,文件都很小,一大优点啊;缺点就是占内存多些。这个仅仅是像素在flash里的一个小小应用,大家可以发挥想象,创作出更有意思的动画来。flash也开始注意到对像素方面的改进了,在mx 2004里,已经加入了生成锯齿文字的功能了,如图:
虽然使用起来还是有很多注意事项的,但是总算是个改进了。最后,希望更多的朋友能对像素创作产生兴趣哈。