When I decided to write this article, I concluded that I wouldn’t try to teach Flash through this articles. Instead, I’ll try to show you that Flash hasn't completely succumb to the stigma imposed on it. Sure, it's been abused in the past, but it's still a very useful tool. Don't let the title mislead you: there will be no learning of Actionscript here. There are lots of other sites that are better suited for that, like Flash Kit or Actionscript.org. However, I think that what I have to offer is equally as valuable. I’ll attempt to explain why understanding the concept of Actionscript can make you a dangerous designer or developer, especially if you understand and practice the separation of content, presentation, and behavior.
The Two-Minute Drill
Assuming you know nothing about Actionscript, here's my shot at explaining it in one paragraph. Actionscript is a full-fledged programming language native to Flash. It’s an essential part of what makes Flash so powerful. Since it’s inception, it has grown tremendously from a simple behavioral mechanism to a complete, object-oriented programming language.
Ok… What does that really mean?
Basically, Actionscript can control your whole Flash movie, and as little or as many elements in the movie as you tell it to. Before I learned Actionscript, I foolishly believed that I could do everything I needed to with the timeline. That idea served me well for a time, until I came up against a project where I had to create constrained drag-n-drop functionality. After racking my brain, I realized that it wasn't feasible to anticipate every scenario and animate it on the timeline. Certain things were out of my control and dependent on the user, which is where Actionscript comes in. Actionscript allows you to store settings and perform certain tasks, whenever you specify. It provides the opportunity for different scenarios in different situations. It gives you options.
What does this mean to me as a designer?
You’re not bound by “the static”. With Actionscript, you can move, scale, rotate, and change elements whenever you please as you see fit. You have the liberty of giving the user control of anything and everything, or you can ensure that they don't mess up a thing.
What does this mean to me as a developer?
As Flash progresses, Actionscript gets closer and closer to a regulated version of ECMAScript, a standardized programming language. Developers used to OOP languages such as C++ or Java will find it very easy to make the jump into building interfaces or applications with Flash.
What does this mean to me if I'm not a developer, but I know enough code to just be considered a designer?
How can I learn more about this Actionscript stuff?
As with most things, experimenting is key. Open up Flash and try playing around with it. The built-in Actionscript reference is one of the best resources out there. It’s usually my one stop shop when I run into any problems. If you still need some inspiration, check out these books:
- Drag, Slide, Fade, by Brendan Dawes: one of the first books about Actionscript that made total sense. Learning the language is nice, but having a practical application for it is even better. Full of examples like mask transitions, building a volume slider, building a custom slideshow, and more.
- ActionScript for Flash MX: The Definitive Guide, Second Edition, by Colin Moock: Like most in the O'Reilly series, this is a really detailed, start-to-finish explanation on Actionscript. Notably written by Colin Moock, aka Mr. Actionscript
- Essential Actionscript 2.0, by Colin Moock: With Actionscript moving into a 3.0 version, this is a great book on understanding the concept of OOP with practical Actionscript examples. Geared towards seasoned Flash users, this book will help you take your game to the next level.