Archive for the ‘Other’ Category

The Scriptocalypse is Nigh

You are:

Probably, you have stumbled here on account of the fact that Flash is treating you badly. You’re up against a problem that has completely blindsided you, and you feel like the world is about to end. You’re doing something that you know should work, and you can’t figure out why it doesn’t. This might be especially true if you’re a long-time ActionScripter who has an intimate knowledge of AS2, and have made the leap to AS3. More than that though, not only do you care about solving your problem in the short term, you care about knowing enough to stop yourself from doing it again.

Maybe you even came to Flash from a more “conventional” programming background? Maybe you know C++ by heart, and you want to know how to make ActionScript pass a Number by reference instead of by value. (Answer: You can’t.) Or maybe you thought that ActionScript would be easy (which it is) but the fact that you’re working through that troublesome Flash IDE is giving you fits because it’s just not logically consistent with the language you’re trying to write, or the whole “frame-based” paradigm upon which the execution loop works is mystifying. Let’s assume that Flex is out of the question for your specific problem, or you would have gone that route instead.

I hope:

I hope that I’ll spare someone, somewhere, some agonizing lesson that I learned the hard way. Most likely, this will have something to do with Flash. Possibly, it may even have something to do with one of the other languages with which I play but since my professional work is almost exclusively in ActionScript this is probably where my focus will lie until circumstances deem otherwise.


I’ve been at the ActionScript game in one form or another, from student to hobbyist to fully-fledged professional, since Flash 5 was the latest-and-greatest version on the block.

My Street Cred:

  • By far my strongest language, with which I have the most professional experience is ActionScript (all versions of it). My primary platform is Flash Player 9, AS3. Bear this in mind, as it will surely color these cautionary tales a bit differently than if I were working with Flash Player 10.
  • I mostly make games and interactive activities. These almost always involve voice-over and narration. Localization-friendliness is frequently a requirement.
  • I have a long and torrid history with HTML, CSS, and JavaScript. I have discovered that I vastly prefer strongly typed, compiled languages over loosely typed, non-compiled languages.
  • I relentlessly study other aspects of computing, as well as other languages such as C, C#, C++, Java, and the like.

I am not (currently):

I am not an employee of Adobe. I’m not a Flash guru on the level of Colin Moock, Robert Penner, Grant Skinner, Andre Michelle, or any of the other luminaries you’ve read or encountered. I’m not a published author of any programming manual, or how-to book.

I am not a Computer Science major. I did not spend my entire youth learning about the inner workings of an ALU, studying the contents of memory locations, learning to operate on binary numbers, or even studying higher level concepts that seem to be all the rage these days such as design patterns. That hasn’t stopped me from learning these things post-graduation, though. Aside from a few sophomore-level CS classes in my days as an undergrad, I am entirely self-taught.

Mostly, I am not perfect. I am not about to proclaim that my solutions are the best ways to avoid your problems, or that other solutions are wrong.

No Comments