1.灵活的跑道
你需要知道什么时候发送一个event,什么时候执行代码,什么时候播放器渲染画面。这真的是最基本不过了。
http://www.craftymind.com/2008/04/18/updated-elastic-racetrack-for-flash-9-and-avm2/
2.FlexSDK, mxmlc, compc以及所有所有你要知道当你在Eclipse里面按下“Run”按钮时会发生什么。
http://www.senocular.com/flash/tutorials/as3withmxmlc/
http://livedocs.adobe.com/flex/3/html/help.html?content=apparch_08.html
3.内置事件,自定义事件,事件冒泡过程(Event Bubbling)
真不知道那个Flash不用处理帧和鼠标点击。
http://www.adobe.com/devnet/actionscript/articles/event_handling_as3_03.html
http://livedocs.adobe.com/flex/3/langref/flash/events/package-detail.html
http://www.tink.ws/blog/custom-events-in-as-30-dont-forget-to-override-the-clone-method/
http://jacwright.com/blog/70/how-to-listen-to-flash-events-that-dont-bubble/
4.语句、关键字、指令
你不应该对AS3里面的新词语感到迷惑,如果你不清楚static或者override或者其他的话,去学一下咯。
http://livedocs.adobe.com/flex/2/langref/statements.html
5.ASDoc
终有一天,你会再次读一下自己的代码,然而发现完全不清楚这是什么。这一条的重点是写适当的文档,用工具生成文档也相当不错的。
http://livedocs.adobe.com/flex/3/html/help.html?content=asdoc_3.html
6.管理好可视资源(图片,字体, CSS等)
Flash是很visual的,所以你要知道怎么用代码管理可视资源。
http://www.gskinner.com/talks/flexlovesflash/
http://code.google.com/p/queueloader-as3/
http://code.google.com/p/bulk-loader/
7.Arrays, Collections, Dictionaries, Mapping
你不单单跟一个MC打交道,所以你要懂得怎么一次操纵多个对象。
http://livedocs.adobe.com/flash/9.0/ActionScriptLangRefV3/Array.html
http://www.gskinner.com/blog/archives/2006/07/as3_dictionary.html
http://code.google.com/p/as3ds/
8.编程式的动画(tweening, easing)
如果你只想东西都是静止的,你应该跟HTML呆一块。
http://blog.greensock.com/tweenmaxas3/
http://www.amazon.com/Foundation-Actionscript-3-0-Animation-Making/dp/1590597915/ref=sr_1_1?ie=UTF8&s=books&qid=1243014431&sr=8-1
9.OOP和利用框架编程
以往只用一个巨大的as文件的日子已经远去了。你要灵活的把代码移动到安排有序和可重用的对象那里。而且现在有N多流行的AS3框架帮你,试着学习如何使用它们吧。
http://www.adobe.com/devnet/actionscript/articles/oop_as3.html
http://www.actionscript.org/resources/articles/684/1/Object-Oriented-Programming-in-AS3/Page1.html
10. 版本控制
除非你认为你的代码没有价值,否则你应该学习如果正确地备份。
http://tortoisesvn.net/downloads
http://versionsapp.com/
http://en.wikipedia.org/wiki/Revision_control
http://git-scm.com/
http://www.nongnu.org/cvs/
~~~~~~~~华丽丽的分割线~~~~~~~~~
gskinner.com版的高深Flasher必知必会:
- AS开发(这很明显)
- OOP经验
- 一些软件架构/使用设计模式的经验
- 代码标准(Code standards)
- 整合数据服务(Data services integration): XML, JSON, SOAP等。
- 解决问题的能力(Problem solving)
- 修补漏洞(Debugging)
- 代码优化和图像优化
- 质量检测(Quality testing)
- Reasonable understanding of UX and interaction design
- 基本的图像设计和动画设计能力(要足够到能理解并实现设计师的想法)
- 导入图形(Graphics import)
- 有一定的Ps、Ai、Fw的基础(for tweaks / exporting art)
- 对视频压缩、音频压缩有简单的认识
- 编程式的动画(Programmatic motion)
- 写文档的能力(for team / client communication, documentation, comments, etc)
- 要能跟团队或客户沟通,要有处理人际关系的能力。
- 有使用Flash和Flash里面的时间轴的经验。
- 有使用外部代码编辑器的经验(例如:FlexBuilder, FDT, FlashDevelop)
- 对以下事物有深入了解:Flex, FMS, Remoting, FlashLite, AIR 和其他一些Flash平台的核心产品、核心类库。
- 对服务器开发和数据库有深入了解(并不一定需要真能做到这些,但需要一些关于这些model的经验或知识。)
- HTML、JS、CSS的简单认识
- 懂得与HTML、JS一并使用
- 社区意识(Community awareness) ——online resources, frameworks等
- 基本数学——理解和混合使用+, -, /, *, %, 指数和简单三角函数(sin, cos, atan2, etc)