stored in: Flash and tagged: , ,

Another one of Alex’s characters from Corgi Warlock.

I absolutely love the baddie’s flaming sword!

stored in: Flash and tagged: , ,

I had some fun last week mucking around with Flash Professional’s WebGL publish features. My buddy Alex very kindly sent over some character animations from his Corgi Warlock game so I set about converting them for WebGL.

All of Alex’s original artwork and animation was actually produced using Flash so getting them working with Flash’s WebGL publish target was actually pretty easy. And the really awesome thing about targeting WebGL is that your content will run quite happily on mobile browsers too. Hurray!

I’ll publish a few more animations over the coming days.

stored in: Flash and tagged: , , ,

Looks like Flash Professional will be getting some attention at this year’s Adobe MAX. Focus seems to be on the latest drawing and animation improvements, and also Flash’s HTML5 and WebGL publish targets.

Here’s a list of the sessions and labs that’ll be on offer:


As you can probably guess from my most recent posts, I’m pretty excited by Flash Professional’s HTML5/WebGL support. It opens a huge number of possibilities for those wishing to target mobile browsers and, in many ways, makes your Flash content a first-class citizen within a web page.

One thing that’s lacking at the moment however, is a decent number of tutorials and other resources. Thankfully Lynda.com has just released a video course, HTML5 Canvas and WebGL in Flash Professional CC. It takes you through the steps required to make several types of content including vector-based animation, interactive banner ads, and simple HTML5 games.

It’s still very early days for the technology, but being able to build Flash content that runs outside of the Flash plugin is an exciting prospect.


It’s not often you see updates to the ActionScript 3 class APIs these days, so I was pleasantly surprised to see that the AIR 19 beta introduces two new methods to the Vector and Array class:

  • insertAt()
  • removeAt()

They are intended as a replacement for the splice() method when you only want to add or remove a single element. So why use them over the splice() method? Well both methods make a change directly to the array or vector rather than creating and returning an altered version. They’ve been implemented with performance in mind and will perform better than the existing splice() methods.

To show the new APIs in action, here are two quick examples.

In the first example I add a score of 800 to the 2nd element of a vector of high scores:

var topScores :Vector.<int> = new <int>[1000, 500, 250, 100, 50];
topScores.insertAt(1, 800);
trace(topScores); // [1000, 800, 500, 250, 100, 50]

And in the second example I remove the lowest score from the array and trace it:

var topScores :Vector.<int> = new <int>[1000, 500, 250, 100, 50];
var lowest :int = topScores.removeAt(topScores.length - 1);
trace("The lowest score of " + lowest + " was removed.");

You can download the AIR 19 beta from Adobe Labs.

stored in: AIR, Flash, iOS and tagged: , , ,

The beta release of Adobe AIR 19 has landed and the big news is that we finally have the AS3 Workers API for iOS.

So what are Workers? Well put simply, Workers lets us create multi-threaded AIR and Flash Player applications. This is significant because you can finally relegate CPU intensive tasks to a background worker thread while your main application thread continues to do its own thing. So for example, you could write code to perform some heavy image processing in the background without your app’s UI being blocked. In fact, this is one of the primary reasons for using workers: to ensure your app’s user interface and animation stay as smooth as possible even when there’s a lot of processor intensive code being run.

You can find the API documentation for the Worker class on Adobe’s official AS3 Language Reference site. There’s also the Introducing Concurrency on iOS article on the Adobe Developer Connection website, which will help you get started.

And if you want a more detailed introduction to workers then take a look at Shawn Blais’s excellent tutorial on the subject. Part three is particularly interesting as Shawn shows the Nape physics engine running in a separate thread to guarantee a silky smooth 60 frames-per-second simulation.

You can download the AIR 19 beta from Adobe Labs.

The video from my Introduction to Flash Professional’s WebGL Runtime API webinar is now available.

The encoding for the video unfortunately looks a bit wonky in places but I’ve provided the slides from the presentation below so you should be able to follow along with the audio.

In addition, the FLA and source code from the presentation is available on GitHub. You’ll find the original JavaScript version of the code that I ran through during the webinar and there’s also a bonus TypeScript implementation in there too. Oh and a big thanks to Robert Penner for the improvements to my TypeScript code.

Finally, here’s a link to the running version of the actual WebGL content that I produced during the webinar.

Thanks once again to everyone who attended!

I’ve placed the example source code from yesterday’s webinar on GitHub. You’ll find the original FLA file complete with the JavaScript source code (it’s inside bunny.html). As an added bonus I’ve also included a TypeScript version of the example.

You can find the repository here: https://github.com/ccaleb/flash-webgl-intro

And here’s a link to a running version of the code.

Thanks to everyone who attended today’s webinar about Flash Professional’s WebGL Runtime API. Here are the slides from today.

Unfortunately I ran out of time and had to quickly skip over most of my content on ECMAScript 6 and TypeScript. If you’d like to know more though then please visit the links listed at the end of the presentation.

On June 17th (8:00AM PST) I’ll be presenting a one hour webinar on Flash Professional’s WebGL Runtime API. If you’d like to find out how to create interactive Flash content that will run on both desktop and mobile browsers then it might be worth dropping by.

I’ll be walking through the steps required to build an interactive Flash animation, covering the basics of Flash’s WebGL Runtime API and also showing how visual content is constructed and exported. During the session I’ll be jumping between JavaScript coding and some good ol’ timeline work, so whether you’re a developer or designer, there should be something that piques your interest.

You can find out more details and check your local time from Adobe’s Flash Professional Team Blog.