Update: Don’t forget to take a look at the Introduction to using StatefulToolkit.
What is it?
The StatefulToolkit was developed to enable the simple management of states in AS3. At the heart of the toolkit is one interface called IStatable. Any object that requires the retrieval or setting of its state must implement this interface. The toolkit comes with utility classes to help carry out some of the basic tasks associated with state management.
What’s included in the beta?
The initial 0.1 beta release includes the interfaces to implement and two utility classes, one to aid in saving and loading states and another to enable clipboard management, so you can copy and paste objects.
The utility classes are both currently optimized for the Flash Player – that’s not to say they can’t be used in the AIR runtime (they’d work perfectly fine) but they take into account the security sandbox restrictions that are found in the Flash Player. For example, the FileUtil allows you to save and load states, but does this using the FileReference class whereas in an AIR application you may want this to be done silently (without the browse box appearing), which would use the File class.
Continue reading »
OK, so it ’s a couple of days late but I’m now back at work and in the swing of things so I thought I’d write a new post.
2009 was a good year for me, I started my full-time job at MMT Digital after finishing university and have really started to delve a lot deeper into programming. The last year has seen me really improve my understanding of OOP as well as use design patterns and frameworks in my daily work.
This year, my new years (programming) resolutions are to:
- Finish the Flash game I started programming in Autumn 2009
- Pull together and publically release my stateful toolkit (AS3)
- Learn more about TDD (test driven development) and optimisation
- Blog more
- and finally, play!
I’m hoping that by posting my resolutions I’ll actually stick to them, especially the top two – I’d really like to seem them out in the wild. I’d also like to blog more, even if it’s just some of the random things I come up with when playing with code!
I hope you all have a successful and enjoyable 2010!
Whilst working on a site that used SWFObject to add Flash to a page, I came across a situation where my Flash movie wouldn’t embed in Firefox, but it would in all the other browsers. Here’s an code excerpt from the page.
1
2
3
4
5
6
7
| <script type="text/javascript">
swfobject.embedSWF("myContent.swf", "myContent", "300", "120", "9.0.0");
</script>
<div id="myContent">
<p>Alternative content</p>
</div> |
After spending around an hour on extensive research (Google!) and checking the case of my code, I still couldn’t find a solution to the problem.
Eventually I discovered that Firefox executes JavaScript at a different time to other browsers. Other browsers appear to load the page and then execute the JavaScript on the page, whereas Firefox appears to execute the JavaScript when it gets to it. So by moving the script to below the div it miraculously worked in Firefox. It would probably be better if the embedSWF function was called on document ready. You can see the corrected code below. It’s so simple when you know how!
1
2
3
4
5
6
7
| <div id="myContent">
<p>Alternative content</p>
</div>
<script type="text/javascript">
swfobject.embedSWF("myContent.swf", "myContent", "300", "120", "9.0.0");
</script> |
Branden Hall and Joshua Davis have collaborated on a new framework called HYPE. Their aim with HYPE is to help bring back the playfulness that once defined the Flash community.

Getting Started
The HYPE framework lowers the barrier for people to begin playing with Flash by offering a lot of functionality out-of-the-box. It’s really easy to get started with HYPE, just download the framework from the homepage. They’ve even put together a nice set of installation and setup instructions, which shows you everything from how to install the files to adding basic functionality. Branden has also posted a Halloween themed tutorial screencast that shows how to use some of the core functionality of HYPE.
Continue reading »
OK, so it’s a little late but I thought it was worth sharing my experience of Flash on the Beach this year.

We all know about Flash CS5, codenamed ‘Viper’, and it’s many new features so I won’t bang on about that. Although I am looking forward to having custom code hinting, and the ability to publish to multiple devices (inc. the iPhone). Instead, I thought I’d list the sessions I attended and my thoughts on them.
iPhone Application Development for Flash Developers
On the Sunday I was able to attend the iPhone workshop with Julian Dolce, which was really good! Julian covered the basics of Objective-C, including displaying external images, playing sounds and using the UI Kit. It hasn’t made me want to shell out for a Mac and begin a career as an iPhone developer, but it was a brilliant insight into how it all works, and I left feeling confident that I could build iPhone applications (if I wanted to).
Adobe Keynote
Although Adobe had MAX coming up, it was nice that they gave FOTB attendees some sneak peaks at CS5. In the keynote Richard Galvan talked about Flash Player penetration figures, the future of Flash on Mobiles, upcoming features in Adobe AIR and showed sneak peaks of CS5. The announcement that interested me the most was the ability to deploy Actionscript 3 Flash applications to Mobiles using Flash Player 10.1; I think it’ll be awesome to use the same codebase to deploy to multiple devices (and it’ll be great to completely eradicate the need for AS2!).
Continue reading »
Recently I’ve been introduced to a code formatter for Flex Builder 3 and thought it was worth sharing. The plug-in formats, indents and rearranges both MXML and ActionScript code.

Downloading the plug-in
There is a version of the plug-in available here, but I haven’t installed it from there. Below I’ve included instructions on how to install the plug-in using the software updates feature in Flex Builder. Continue reading »