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:

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.

Colin Holgate from Funny Garbage recently presented his experience of creating HTML5 games using Flash Professional.

As Colin demonstrates, anyone wanting to target HTML5 while using the familiar Flash workflow can easily do that using Flash’s HTML5 Canvas document type. And as you can see from the video, the end results are quite impressive.


If you’ve been uploading builds to TestFlight you’ll no doubt have noticed that you need to increment your app’s version number each time you want to deploy a new build. Annoyingly Adobe AIR’s <versionNumber> tag has always populated both the CFBundleShortVersionString and CFBundleVersion keys in the iOS info.plist file, meaning there was no way to simply update the build number while keeping the app’s version number the same.

Thankfully the recently released AIR 18 beta SDK fixes this issue by providing you with a <versionNumber> and a <versionLabel> tag. The <versionNumber> tag is used to update the build number, while <versionLabel> is used for the app’s actual version number. So if you’re only making a minor update to your app you can now simply update its build number rather than the version number.

You can download the AIR 18 Beta from Adobe Labs. The release notes are available from here.


PixiJS has got to be my favourite JavaScript 2D rendering engine. It’s awesome! So I was pretty damn pleased to find out that a new major version has just been released by Mat Groves.


A lot has changed including a new modular architecture and increased focus on WebGL rendering. With WebGL now available across a wide range of mobile devices it’s great to see Pixi being architected in such a way to ensure that the WebGL side of things is as efficient as possible. Also, for those targeting multiple screen resolutions (who isn’t these days), PixiJS v3 has a new resolution manager making it easier to work across different resolutions and pixel densities.

A new version of the official site will be coming soon along with documentation and example code. In the meantime you can find out more on Mat’s blog and grab the latest version from GitHub. In fact, there are some impressive demos on Mat’s blog showing off just what v3 is capable of.

If you’ve been using the TestFlight website to upload and distribute test builds of your Adobe AIR apps then you’ll probably be aware that the service has moved. Apple acquired TestFlight in February and have now integrated it within iTunes Connect. So here are a few useful tips for uploading your app for TestFlight beta testing within iTunesConnect.

Download Adobe AIR 16+

Apple now insist that all apps submitted to the App Store must include 64-bit support. This restriction also applies to any builds you upload to iTunes Connect for beta testing.

Thankfully Adobe AIR 16 introduced support for 32-bit and 64-bit iOS platforms. The AIR 17 beta SDK has improvements over AIR 16, allowing it to compile for both platforms in parallel, cutting packaging times by fifty percent.

I’ve actually been using AIR 16 for a current project and its builds can be uploaded for beta testing without any problems. But you might as well take advantage of the improved compilation times provided by the AIR 17 beta SDK.

Distribution Certificate and Provisioning Profile

The TestFlight website let you upload apps that had been built with a development certificate. However, in order to submit a beta build via iTunesConnect you’ll need to generate and use a distribution certificate. This can be done by generating an App Store and Ad Hoc production certificate from the iOS Dev Center.

You’ll also need to create a Distribution Provisioning Profile and associated your distribution certificate and your app’s App ID with it.

Update your App Version Number

Before making a build and submitting it, you’ll need to update your app’s version number. This can be done by editing your application descriptor file (-app.xml). Simply increment the value of its versionNumber tag:


You’ll need to increment this value every time you submit a new build for beta testing. If you don’t, then the submission will be rejected for having a version number identical to an existing build.

Beta Entitlements

Staying within your application descriptor file, you’ll also need to set the correct beta entitlements. Add the following XML:


It’s important you remember to do this. If you submit your build to iTunes Connect without these entitlements, it will be accepted, but testers won’t be able to gain access to it. Worse still, you can’t delete builds from iTunes Connect, leaving you with no choice but to increment your app’s version number and submit a brand new build. Remember, once a build has been successfully submitted you can’t upload another build that has the same version number.

NOTE: If you’re making a build for yourself using a development certification and development provisioning profile then you’ll need to remove the entitlements XML from your application descriptor file. This is a nuisance but the easiest way to deal with it is simply to comment-out your entitlements XML when you don’t need it, and then remove the comments when you’re creating a beta build for upload to iTunes Connect.

Here’s how your application descriptor file should look after commenting out the entitlements:


Upload using Application Loader

The final step is to upload your builds. If you’ve been using the TestFlight website you’ll be used to simply dragging and dropping your files onto a web page. To submit your content to iTunes Connect you’ll need to use the latest version of Application Loader. You can download Application Loader from the iTunes Connect website.

I hope all that was of some help to you guys.

stored in: AIR, Projects and tagged: , ,

Here’s a video of an app I worked on last year, but for one reason or another, forgot to actually blog about.

The Careers IT Seat Interactive is an iPad application that was developed as part of the Glasgow Science Centre’s Careers Hub exhibit. It consists of a series of games and quiz style questions designed to challenge and entertain visitors as they discover their ideal career based on their personality. The app is accessible through seven iPads mounted in seated pods at the science centre.

The application was developed using Adobe AIR and ActionScript 3. Flash Professional was used as the design tool, with a combination of bitmap and vector artwork used for the app’s visuals and animation. I always find it extremely enjoyable working on AIR projects and this one was no different. Vector graphics were actually used for the bulk of the artwork and the final result looked great on the Retina iPad Airs that were used in the actual exhibit.

I actually put this demo together about six months ago but for one reason or another didn’t actually get round to blogging about it. I think it was because I wanted to add environment graphics and proper baddies before showing it off. However, given how little spare time I have at the moment that’s unlikely to happen any time soon.

This demo (video below) was an attempt at trying something different with our Bunny Vengeance game concept. Rather than two characters standing on screen and clobbering the hell out of each other (previous demo here) I went for a side-scrolling beat ‘em up approach.

As you can see, our hero runs from left to right across the landscape, leaping over gaps and punching any baddies that get in his way. I was eager to avoid implementing a virtual joypad as I don’t think they really work on mobile screens but did want to at least try adding some depth to the gameplay while keeping things simple.

Tap anywhere on the right of the screen and our hero will punch, while tapping on the left will make him jump. You can even perform a double-jump if you get your timing right. Holding both sides of the screen at the same time also performs a few extra moves. Doing so when the bunny is in flight will perform a devastating power slam, while it’s used to block any hits from baddies when on the ground.

The previous demo was written in ActionScript but I opted for Objective-C for this one. For the game’s physics and graphics I used Sprite Kit, which is pretty awesome if you ask me.

Oh, and if you like the video above then you may like my Jeff the Unicorn demo that I put together last year. Its control scheme isn’t that different from the controls I opted for in the latest Bunny Vengeance demo.