Following is a list of reading materials I have found useful.
Flex 2 / ActionScript 3
ActionScript 3.0 Cookbook
A real time saver and very much worth the investment. As a developer who knows AS2 reasonably well, this book serves to provide ‘recipes’ for many of the typical functions one might need to programme, presented in the new AS3, making picking up the new language and it’s subtleties quite rapid.
My only gripe so far on this first edition is how in chapter 7 it asserts that all arguments are optional in calling graphics.lineStyle(), and that if you call it with no arguments, the line thickness will default to 1px. However in my experience this is not the case. A line thickness needs to be explicitly set in order for the line to draw.
That gripe aside the book has more than paid for itself in time saved. You might like to buy ActionScript 3.0 Cookbook from Amazon.
Flash / ActionScript
After working through the included tutorials, I used these materials speed-up my flash learning.
Training from the source
The following two (training from the source) books are written as self-paced tutorials. And I approached them as such, studiously working through all the exercises. While there are lots of minor errata in this edition, nothing too distracting. They provide a quick-start to lots of the standard ActionScript 2 programming techniques, conventions and serve as a working introduction to the Version 2 components. Working them through start to finish, helps instill those conventions as habit. While good as a quick start, they do not provide a detailed explanation of why certain conventions are used, which may leave you puzzled when you take on a project and start to think for yourself. (Point of note: not enough detail on the initialisation sequence when using screens and components.)
Although written for Flash MX2004 (Flash player 7), there have been no fundamental changes to these techniques or conventions with the recent upgrade to Flash 8. As we continue to use ActionScript 2 and the V2 components. However new learning likely to be required for Flash 9 / ActionScript 3 once there is sufficient player penetration.
The third book I got my hands on was Flash MX2004 Games Most Wanted. While generally interested in games programming, my main interest is in picking up techniques that may be applied in my more corporate programming. My initial response to this book was one of disappointment. Although it’s title implies Flash MX2004, the code samples are mostly ActionScript 1, using coding conventions I consider redundant (except for legacy maintenance) and poor practice compared with what the training from the source books had just instilled. That aside, the techniques presented are translatable. I found I could further develop and use the maths and timer techniques. I put them into practice when working on the menus and text animations on the eye-d creative site.
Taking a more academic approach, Flash MX2004 Game Design Demystified presents good descriptions of game maths and physics in addition to techniques for various game genres. Probably esstional reading if a game project is coming your way.
More in-depth understanding
Object Oriented Programming with ActionScript 2.0 is a great book presenting ActionScript 2 from a purely Object Oriented point of view. A valuable read, once you have obtained a basic understanding of Flash. Provides more in-depth explanation than the training from the source books. It was from this book that I picked up cue on how to implement inter-object communication via event broadcasting – although I ultimately used a slightly different technique to that presented in the book.
Essential ActionScript 2, is as it suggests essential reading for any serious ActionScript 2 programmer. I came to this book late. It should have been amongst the first books I bought, and would have saved me a load of time. Quite simply this covers the detail missing from the previous books covering matters such as why things are the way they are, and what is going on behind the scenes. Once understood this provides vital in-site, enabling you to make more informed programming and functional design decisions. It is worth checking out the author’s blog: mookblog.
I worked on a heavily component driven Flash application last year (2005) and I really wish Advanced ActionScript Components had been available at the time. Chapter 2 – “Inside the process of building a component instance” is essential reading. Although I would have liked to have seen more explanation of the initialisation sequence. I not sure from a readers point of view that XLEFF (the author’s Open Source project) needed to be included throughout. However it is an interesting project worth checking out and comparing with Flex2. The chapters on customising and styling the component are again essential reading. However I would have liked to have seen an exploration of the problems with setStyle.
My most used book is the ActionScript 2.0 Dictionary. Half an introduction to ActionScript 2 and half, a printed equivalent of the ActionScript help reference. My general criticism of the supplied documentation is that there is too much ambiguity within the reference material, leading to a great deal of hopping around trying to find examples close to what you are trying to achieve. Non-the-less I found this a vital desk companion especially during the first 12 months of working with flash.