2009年1月12日星期一

【文章】啸风子与Flash之起步——小荷才露尖尖角(20090112更新)

【文章】啸风子与Flash之起步——小荷才露尖尖角——
啸风子 于 2009年1月12日星期一 20:10 发表于 啸风子Flash站点(http://tigerrrflash.blogspot.com/)

----------------------------------------------------------------------

啸风子与Flash之起步——小荷才露尖尖角

网络原文地址:http://tigerrrflash.blogspot.com/2009/01/flash_12.html
创建日期:20090112
更新日期:20090112
存档日期:

---------------------- 提纲 ----------------------



1. 起步过程

2. 笔记和第二大脑

3. 分而治之

4. 动手实践

5. 项目导向

结语

关于作者

----------------------- 序 -----------------------

此文简单介绍了自己的Flash起步过程,详见第1部分,然后讲述下自己的学习所得,列在第2~5部分。我不讲解具体详细的知识,而是说一下自己认为好的学习方法。:-)

------------------ 1. 起步过程 -------------------

上周基本完成了一个Flash教学游戏“贪学蛇”雏形的开发和调试,算是我做的第一个真正的Flash游戏,可作为我Flash起步阶段结束的里程碑。

很久以前,也许在大二大三的时候,就开始学习Flash创作工具的使用了,主要是通过帮助文档和一些视频教程学习的。当时也做过一些小东西,不过没用到ActionScript语言。之后的很长时间也只停留在起步水平,因为我并没有做过大点的项目。

一个多月前开始学习ActionScript 3.0,因为我以前有Java的基础,所以学起来很轻松。主要也是通过官方文档《ActionScript 3.0编程》打基础的,也看过一些视频教程,但是主要是作复习用途了。之后就要边学习边动手实践了。

在学习《ActionScript 3.0编程》的过程中,编写过简单的背单词Flash,目的是提高学习动力。但是后来很快学完《ActionScript 3.0编程》了,于是背单词Flash也没有进一步完善的必要了。之后还学习了《面向对象分析与设计(UML 2.0版)》,以提高程序设计知识水平。后来打算开发Flash教学游戏和Flash教程,到现在为止,Flash教程已经有了基本框架程序了,Flash教学游戏也有了一个雏形游戏了。

未来目标虽然还不是很清晰,但是近期一个主要方向是Flash游戏。

在美工方面,也下了一些视频教程和电子文档学习了下,但是还没有动手实践和深入学习。

--------------- 2. 笔记和第二大脑 ----------------

大脑存储容量和读写能力的有限性和模糊性要求我们需要一种辅助工具,以更好的学习和工作。这种工具,最简单的当然是笔记了。而且,一般书籍中的知识容量很大,很多我们并不需要,或者早已了解,而将我们需要的从这么多不需要的知识中分离出来,方法也是笔记。所以,学习中要想事半功倍一定要记笔记。

第二大脑,是我的自创词语,就是笔记的扩展,在电脑上其实就是一些文本文件和文件夹,必要时也可以包括Word文档、图片等。我的标题“小荷才露尖尖角”就是拜第二大脑所赐。

现在我讲一下自己对笔记或者说第二大脑的使用。

----------

首先,笔记要和自己形影不离。这也是我将其扩展称为第二大脑的原因。

在电脑上,要有一个临时记录文本文件,以便在使用电脑随时快速记录下自己的想法、问题、注意点、学习笔记等所有一切需要记录的东西,供以后整理。

在自己活动范围内,比如书桌上,床上,要有纸笔,也是为了随时记录。要不是卫生间公用,我还会在马桶边放上纸笔。

外出时,如果身边没有纸笔,可以记录在手机上,比如日历备忘、短信息草稿等。手机记录速度有点慢,而且要注意字数限制,以免自己写了半天最后发现后面写的都被截断了。

如果实在没有记录工具,比如挤公交或者洗澡,只好记在脑子里了。这时可以学习一些记忆术,比如将所想和数字序号联想挂钩。具体记忆术技巧可以上网搜索。偶尔还是能派上用途的。

----------

其次,建立一个文件系统。我称其为“第二大脑”。

这个文件系统的作用就是记录和整理自己的所有想法、问题、注意点等等,包括所有方面,不仅仅是Flash,因为各方面集合在一起,有利于触发灵感,发生联系。

临时记录可以随时记录内容,包括学习笔记、想法、问题等,之后抽时间把这些内容分类整理完善到不同的文件中。需要时随时建立新的文件,不要太注重分类的严格性,要注重灵活性。比如我想到“小荷才露尖尖角”,就想到了在Flash中利用“诗词”,接着就新建一个“题材”文件,记录我想到或搜集的题材,包括诗词。也许像诗词这些想法对有些人比如做动画的人来说是很正常的想法,但是对初学者来说就不一定了,而且你不一定能随时想到。及时记录,多多复习,以后需要时就能很快想到了。

在需要时,或者有空闲时,可以经常和第二大脑交流,对第二大脑进行整理,添加内容。现在我的第二大脑已经有很多文件和内容了,但是我暂时还是能驾驭它的。:-)

我的文件系统是以文本文件为主的,因为文本文件格式简单,便于转移(如果用Word文档写的文字,贴到网上后格式就可能乱掉)。而且打开和记录都很快速,对我这种现在还用256内存老电脑的人来说,这点很重要。不过文本文件需要注意的一点是,至少在我电脑上,复制文本内容时可能在每行末尾有换行符,所以,记得复制内容前格式改为“不自动换行”,撰写时再改为“自动换行”。

----------

第三,注重历史记录。

我有一个叫“记录表”的电子表格,像流水账一样,记录我每天的所做。这样便于将来总结和回顾。当然,还有博客和本地日记。博客可以记录专门性日记,比如我的Flash学习制作的过程成果等,不但有利于总结回顾,也可以作为展示自己的窗口。本地日记则记录私密性的东西,我还用来记录周记,每周一次的生活总结。

----------

第四,我记笔记的方法。

我记笔记一般不记录书本的知识系统或者书本认为的重点,而是记录自己需要的内容,即便是作者一笔带过,或者干脆没提到的(这时就算记录“问题”了)。

记录的笔记要标注好页码,以便以后查看详细内容。可以按章分类,这样看的时候更容易更快速地明白自己以前记录的是讲什么的。

当然,如有必要,如书本知识对我来说基本算全新的知识,也可以记录书本的知识系统。

----------

最后,在写代码时一定要及时记录注意点、想法、问题等。

写代码是一种实践,实践的反馈是非常重要的,是经验积累的基础。有利于以后避免错误等。


------------------ 3. 分而治之 -------------------

人类的平均短期记忆容量只有7个元素,近期看的一篇文章又说只有3个。那么人类能处理那么多信息的一个关键就是分而治之。比如“ActionScript 3.0”这个词,就可能被分为语言名称“ActionScript”、版本号“3.0”两块,“ActionScript”再被分为两个单词,然后再分。大脑也许就是这么处理的哈哈。:-)

以ActionScript 3.0知识为例吧,可以分为语法层、类库层、应用层、辅助层等。

语法层,包括基本语法、面向对象语法等。

类库层,包括各个类库的知识,可以参考官方文档《ActionScript 3.0编程》,如数组、时间、网络等等各个方面的。

应用层,比如就Flash游戏来说吧,可以有:进度条、滚屏、音量控制、计时器、血槽等。

辅助层,比如代码撰写规范、注释文档规范、测试方法、UML知识等。

当然,还可以有很多其它内容要学的。充分利用好第二大脑,对模糊的知识分而治之,清晰化,学习效率会高很多,也不会不知道自己该做什么了。

------------------ 4. 动手实践 -------------------

只看书看视频学习,而不动手实践,是菜鸟进步的阻力之一。不动手实践,看再多书,记再多笔记也没用,因为书本和项目本质上是两个不同的东西。

在学完《面向对象分析与设计(UML 2.0版)》后,我也想试着按书上的格式撰写教学游戏“贪学蛇”的文档,但是我对文档改来改去,浪费了很多时间,最后一点进展也没有,也不知道把文档转化为程序代码。原因很简单,我没有实际项目经验,写的文档根本不符合实际需要。最后,我只好抛开一切,先动手写代码,在写的过程中,不断学习相关知识,符合实际的想法也不断出现,并很快得到实践,最终,我完成了“贪学蛇”雏形的开发和调试。

当然,这只是新手学习时的权宜之计,真正的项目一边编码一边出现想法是很不可想象的。因为拙劣的设计会导致以后要花几倍于开发的时间来调试,“贪学蛇”在调试时几乎让我崩溃,浪费了我大量时间。

在实际编码过程中,要及时记录下注意点、想法、问题等,真正的知识和经验就是从实践中学到,或者得到理解和巩固的。

------------------ 5. 项目导向 -------------------

听说中美教育的差距就是中国教育都是结构化,按照知识结构一点一点来学习,而美国教育则是给学生以自由权,选择自己的项目,然后,需要什么就学什么。两种教学方法各有利弊。但是既然我们习惯了结构化的学习,现在就要强调项目导向的学习。

结构化学习用来打基础很不错,可以快速学习到需要的知识,但是一旦到了实际项目,就不行了。现在的教程也大多是结构化的,比如《ActionScript 3.0编程》,就是非常结构化的,介绍了语法和各个类库的知识。但是学完了这些,不等于就会编游戏程序了。

以Flash游戏为例吧,要想学会Flash游戏编程,在学完ActionScript 3.0基础知识后(结构化学习为主),就无需找一本Flash游戏教程来专门学习了,因为上面不但有很多我已经学过的知识,而且读到最后,一般会感觉学到的只是皮毛,示例也极其简单,浪费了很多时间很多钱,大部分教程都如此。

这时,可以采用项目导向,比如先给自己定一个项目,然后把项目分解下,就如我上面所说的,进度条、滚屏、音量控制、计时器、血槽等等,然后针对每个部分找资料学习,一点点细化,边做项目边学习。在项目完成后,总结下所学知识,就会发现自己学到了很多教程上根本没有的知识和经验。

这里项目分解很重要,如果不知道游戏项目分解为什么,那就上网找资料,或者找教程例子,然后利用好自己的大脑,以及第二大脑,好好思考,多多实践。这时是学习阶段,错误、问题出的越多越好,只要事后解决掉,那就不要当心浪费时间,况且还得到了很多经验。

---------------------- 结语 ----------------------

此文,作为我的Flash起步阶段的总结,以及结束标志。接下来,应该进入更加正式,更加专业的阶段,至于阶段名称?暂未想好。下一篇,也许是“啸风子与Flash之游戏开发”。

-------------------- 关于作者 --------------------

网名啸风子,真名陆仕桑。啸风子是虎的雅称。小时候崇拜虎,所以起了这么个网名。

毕业于北京交通大学。我反对看重学历和大学成绩,这些东西水分太多。我更看重的是态度和能力。

我与Flash。很早以前(大学中期)就开始学习和使用Flash创作工具了,之后是学习ActionScript 3.0。我以前专注过Java程序开发,所以在Flash方面偏向于选择程序开发作为我的专业技术,包括Flash游戏、软件、演示等,以及Web富客户端。必要时,我可以选择其它语言和工具,因为我非常注重务实的应用,而不仅仅是某种语言和工具。对于Flash动画,主要是兴趣爱好了,我对美术有浓厚的兴趣,偶尔也会下载些教程学习和练习。

我的教育理想。我是个现实的理想主义者。因为对现阶段中国教育的某些现象和制度很不爽,所以有一个为教育做贡献,改善教育现状的理想。这样,也不至于我一辈子碌碌无为。之所以说现实,是因为我更注重方法,而不只是简单地做个教师等。理想是用来实现的,不能只是来想想的。所以,我现在正在做一个所谓的“人本教学系统”项目,哈哈,暂时还是私人项目,完全做好可能要做很长时间。

生活博客地址:http://lushisang.blogspot.com/

啸风子Flash博客地址:http://tigerrrflash.blogspot.com/

“人本教学系统”项目博客地址:http://humanisticisp.blogspot.com/

没有评论:

发表评论