一、写这个文章的起因: 经常遇到很多人想学习Flash,但是不知道从何学起,有的朋友甚至对于学会了Flash,能做些什么也很疑惑。 本人结合若干年Flash学习研究经验,给想学习Flash的朋友一些建议,也欢迎大家访问我的空间,http://hi.baidu.com/billypc给我留言。如转载本文,希望多多宣传本空间,谢谢。 一般来说,Flash的学习主要有两个方向,一是专攻Flash动画,一是专攻Flash编程,当然也有动画和编程都学习的很到位的人,那是牛人。不过这里我主要分析一下Flash的这两种方向如何开始学习,如何快速掌握。 二、FAQs 问:学习flash做动画需不需要美术基础啊? 最重要的应用就是做动画片,比如早期的ShowGood三国,小小,现在的小破孩系列,开心驿站系列,燕尾蝶等。这些都是动画片制作,这一类的flash需要有很好的美术功底,需要有诸如手绘,视觉感,镜头感等相关的专业知识。这一类的动画制作基本上需要美术和动画的专业知识。而Flash只是作为一个动画制作的工具而已,一个动画片在从开始到结束,更多的需要的是美术及动画方面的专业知识。 另一类应用是Flash广告和Flash特效,这一类Flash大量应用于网络,从网站主页Flash动画,到网站内部的一些广告,一些吸引眼球的效果,都属于这一类应用。一般学习Flash的人,基本上都在做这样的东西。包括一些初学者在内,都认为这就是Flash,其实这只是Flash最简单的应用。制作这一类的Flash一般需要一些创意,有一定的视觉感,有美术基础的人会更加得心应手。有时候会需要掌握一些基础的flash as,比如制作flash菜单,flash跳转效果等。 Flash在动画的制作过程中,主要扮演的是工具的角色,是目前动画制作中效率比较高的工具之一,而一个好的动画,并不依赖于你用什么工具,而依赖于你的专业程度。专业知识越扎实,创意越新颖,做出的动画就越好。而工具的学习仅仅是第一步。
一般来说,做动画受视觉因素影响,而编程主要受逻辑思维影响。从很宽泛的角度上来说,学动画,就是学感觉,学新思维。而学编程,就是学逻辑,学思维方式。美学不仅仅是能感觉到,还是一种创意思维,是感性的。而程序逻辑则完全是一种逆向思维,是理性的。 一般情况下,逻辑思维可以通过培训等,在短时间内锻炼出来,所以编程应该来说是人人都能学会的,而且是可以通过死记硬背在短时间内速成的。 而感性思维,或者说创造性思维,是很难一下子就养成的,就像我们学画画,没有个一年半载,根本画不出什么好的东西,而且很多画画好的都是从小开始培养的。所以学动画短时间内很难有一些突破,仅仅只能停留在一个较低的层面上,这也就是为什么很多人只会做flash广告,而做不了大于3分钟的动画,或者说做不出高质量的动画的原因了。 但是从入门的角度上来看,会用flash的人,一般都能从事简单flash动画的制作,其实这主要是依靠了FLASH这款工具的强大,并非代表着做动画很简单,或者你很聪明,一下子就学会了,入门也许很简单,但是越想提高一个层次就越困难,比如学会FLASH没多久,就会做flash主页,flash广告等,那是因为这个没有什么难度,所以综合看来,我认为,如果想在短时间内,从事flash工作的话,可以先掌握flash的应用,能制作简单flash动画,然后学习编程,短期内会很有效果。从长期来看,学习一些美术基础,对做动画会大有帮助。
目前的最新版本是flash cs4 功能非常强大,不仅支持骨骼动画,还支持3维等等,verycd上有视频教程,可以去学习一下。 不过初学的话,个人建议你从flash cs3开始,以便今后玩flash cs4,因为他们的操作性很相似,Flash 8现在虽然还是很多人在用,但是已经渐渐被新软件的新功能所取代。 FLASH CS3的好用之处:: 1.cs3是ADOBE收购micromedia后的大作,无论从动画设计上,还是程序语言上都有质的飞跃。比如钢笔功能更加强大,超级强大的绘图功能,这些都让矢量图制作者提高了效率,使用更方便。 2.FLASH CS3引入了面向对象的AS3语言,使得AS不在是一个简简单单的脚本语言,而摇身变成一种强大的高级程序语言。另外,FLASH CS3也全面支持AS之前的版本,从AS1到AS2均支持。 3.作为初学者,因为没有基础,不存在用惯一个版本的软件,用新版本时要重新熟悉的问题,所以应尽量选择最新版本的软件进行学习,因为时代是在进步的,老版本的软件,学完了也就淘汰了,再学新的,还得重新熟悉界面及操作习惯。 4.目前由于flash cs4 10月份刚刚推出,目前CS4的教材并不多也不系统,所以建议以FLASH CS3作为学习的开始,而且FLASH CS4的界面和CS3差不多,只是加了些新功能。
但是如果你是很想学会,那么我建议你,要学习一门知识,就必须看系统的教材。因此不推荐看视频教程,网上的视频教程虽然很多,但是都很难系统性的教会你代码的结构、编程的思想。所以我的建议是买书学习。最好不要看电子书,个人觉得,看电子书的人,都喜欢跳着看,这样看就失去了意义。这样看下来,好像学会了,其实什么原理都没搞懂。 要真正的买一本书,一页一页的翻着看,看一遍不够,一本书至少3遍甚至n遍。还要多加练习。学习编程,首先从hello world开始,然后就是要每天写,经常写,这样才有进步。 很多人也有这样的担心,怕自己没有语言基础,例如没有学习过C等。其实大可不必担心,语言只是一种工具而已,目前的主流语言就好象同素异形体一样,看似有区别,其实都差不多。这就好像你会使用WIN98,升级到了WIN XP,你也不会说,连怎么打开文件都要重头学习一样。学习编程的关键是学习编程的思想,所以好的书教你怎么理解编程思想,差的书只是叫你怎么写代码,其中区别很大。 AS2的书,这里不做推荐了,我也没看过什么好点的书,我学AS2完全就是看帮助学会的,主要是有JS基础。
2.flex的话,推荐《flex第一步》 3.as3语言掌握的7788了以后,可以去看以下一些书籍 4.实用书籍:
所以as3绝不是as2的升级版,在as3里,可以看到java和c#的影子,确实,这三种语言大部分思想都是一致的,只有一些小的区别,比如as3引入了命名空间的概念,但是不支持比如委托,在包封装及外部访问上也引入了一些新概念。 在编译阶段,as2采用的是AVM1(actionScript vitual machine),而as3采用的是AVM2。新一代虚拟机采用了OOP思想,在执行速度上比起avm1也快了10倍。还提供了异常处理。以前我们在使用AS2时,一旦出错,AVM1选择的是静默失败,让人根本不知道什么地方出错了,会浪费大量的时间去查错,而AVM2与目前主流的编译器一样,会有异常处理,运行出错会输出错误提示,工作效率大大提高。如果做个对比,我想说,AVM1就是大刀长矛,而AVM2就是手枪,大刀和长矛也能杀敌,但是只在面对弱智的敌人才能发挥作用,面对一个大型项目,不用点现代化工具是不行滴。 as2与as3的部分区别,只说一些大的区别,小的不同太多,就不谈了: 1.运行时异常机制处理,这个刚才说过了。 2.事件机制,这也是很多人拿起as3就不知所措的原因,初学者会发现连一个按钮点击的方法都写不出来。实际上as3的事件机制采用的是监听的方式,和as2时代的onClipEvent不同,as3里所有的事件都是需要触发器,监听器,执行器三种结构的,这样做的好处就是使得这个语言非常的坚强,非常的标准化。不像as2,奇形怪状的代码漫天飞,可以这样写,也可以那样写,代码变得繁复难懂,可读性太差,执行效率也大大降低。要特别说明的是,as3的所有事件都直接继承event对象,而event是直接继承自大老板Object类,结构多么完美。所以在as3中,所有的事件都继承自相同的父亲,结构相同,提高了重用性。 3.封装性,这是as3与as2最大的不同,as3引入了封装的概念,使得程序安全性大大提高,各个对象之间的关系也通过封装,访问控制而得以确定,避免了不可靠的访问给程序带来的意外产生。 4.XML,我觉得这是最令人激动人心的改变,现在as3程序员可以很轻松也很自豪的说,我们是使用XML人群中最快乐的人。AS2时代对XML的存取仍然需要解析,而AS3则创新的将XML也视作一个对象,存取XML就像存取普通对象的属性一样方便,用点语法就可以,无疑大大提高了效率。 5.最关键的一点,容器的概念,AS3采用了容器的思想,告别了as2一个MovieClip打天下的局面。对于as2程序员来说,可能不能理解,我mc用的好好的,干嘛不让我用啊。但是当你真正的了解as3的思想的时候,当你真主的体会到OOP的好处的时候,你会觉得as3的容器的思想的完全正确的。as2时代,我们做什么都用mc,而as2时代的mc也是直接继承自object,这给了mc极大的权限,极其多的方法属性,而有时我们只需要放一个背景图,并不需要它动,这样做就造成了极大的浪费。说实在话as2和as3比起来就是浪费之神,所以as2编出的swf绝对比as3编译出来的swf要大上几倍。as3把所有你用到的显示对象都分开,mc的属性方法都被瓜分开来,举个例子,你去水果超市买水果,就肯定比直接去大型超市买要方便,更节约时间,时间就是金钱,那就是很大的节省。 当然还有许许多多的不同,比如程序执行机制,设计模式,结构框架等等,这里就不在一一赘述。
其实,我们很多人都仅仅停留在会写程序的阶段,并没有去研究,一个程序怎么写才算是合理的,什么样的结构,才是最完善的,什么样的布局才是可扩展的。什么样的代码才是最高效的。而这正是高手花功夫去研究的事情,也是为什么高手能做的更好的原因。 我总结了一下,觉得以下才是一个程序员应该思考的路: 1.第一类人:会写程序,这没什么,人人都能办到。(70%的程序员都在这里) 2.第二类人:有一定的结构思想,能做设计结构上的调整。能走到这一步,应该可以算真正入门了。(15%的程序员在这里,很不幸,本人也在这里。) 3.第三类人:熟练应用各种设计模式,到了这里,才算涉足高级编程领域。这样的人才能算高手。(10%左右,我想黑羽同志应该属于这个级别) 4.第四类人:有算法分析和创意思维,能做到这一步的人,写出来的程序就不叫程序了,叫伟大发明!(5%左右,微软和谷歌的专家们在这里) 5.第五类人:这一类人是我不敢想象的,已经超出我的思考范畴了。(趋向0%) 最后,欢迎大家百度HI我,和我探讨相关的技术。 |
|