Setup Molehill on FlashDevelop with Away3D
[video]
Play Census man and find out more about the 2011 Census. I really enjoyed adding the sounds to this project as they really bring the game to life. Play here
Get Started with MoleHill and Away3D -
Simple instructions on how to get started using the new Molehill API and the new Away3D 4.0
Wow! Unity3D is to export to the new MoleHill API for Flash. This means you will be able to use a Unity3D API in Flash or have Unity convert your C#, Javascript into Actionscript within Unity or better still code AS3 directly in the Unity tool. This is very exciting, not to mention opening up the awesome Unity3D set of tools to the huge 3D tool starved Flash community, I’m stunned by this announcement.
read the article on the Unity3D blog or the article on the adobe blog
[video]
Here’s a nice little project Ive been working on for OCR. This is a maths quiz aimed at GCSE level maths students. Despite being a programmer I found some of the questions pretty tricky in the later stages! Have a play here
Checkout the abilities of Adobes MoleHill low-level, GPU-accelerated 3D APIs for AS3. Demonstrated in the awesome Zombie Tycoon IceField. This will require you to install the incubator version of
Flash Player 11
Dependency injection (DI) is a method of supplying external references to components. Every time you pass a parameter through a constructor you are in effect injecting dependency.
Reducing the number of dependencies is seen as a good thing as the component becomes further decoupled and more modular. To achieve this a Dependency Injection Framework can be used.
DI Frameworks tend to makes use of a technique called Inversion of Control (IoC) which helps separate specific code from generic code leaving your components elegant and dependency free.
Allot of people seem skeptical of the benefits of DI, but it appears only through its use can you begin to see its benefits.
For a better argument read this thread on the robotlegs google group that helped to sway others.
This video gives an incite into why Dependency Injection is useful. Its not AS3 specific but the principles described are the same all be it extremely simplified!!.
How do we implement DI with AS3?
Well most AS3 DI frameworks go beyond basic constructor injection, instead opting for a meta data injection method, which is where DI becomes a powerful tool in AS3. To achieve this with best results a DI framework is required that will make use of the describeType method to retrieve an XML description of a class. The framework will identify [Inject] meta tags and then inject the instance that is mapped to it. This may sound complicated but John Lindquist recently produced a video tutorial on how robotlegs works and in the process covered the basic methods of dependency injection in the 4th installment. shown here
Here are some AS3 DI frameworks to try;
Swift Suspenders by Till Schneidereit. | repository | blog | twitter
Swift suspenders seems to be the most commonly used framework and is favoured by the robotlegs platform.
Smarty Pants by Josh MacDonald. | repository | twitter
Funk AS3 by Joa Ebert. | repository | blog | twitter
A meta free injection framework. Funk doesn’t use
the describeType method used by most injection frameworks and
saves on initial overhead, however gains overhead by way of a
method call for each injection.
Michael Cann blogged about his experience with Funk with a brief example of use.
Foot note: I read a post by Josh MacDonald on the robotlegs google group and he suggested reading Dependency Injection Design patterns using Spring and Guice Dhanji R. Prasanna Foreword by Bob Lee
Allot of the aforementioned frameworks take inspiration from DI frameworks developed outside of actionscript for example the Spring framework or Googles Guice developed for Java . Perhaps for a better understanding of dependency injection reading about these other frameworks will help.
John Lindquists design pattern video tutorials -
Simply the best demonstrations of applying design patterns to AS3 production. I’m a habitual reader of Johns blog but his video tutorials are the most beneficial resource he puts out.
Another of my latest projects made on behalf of Walkers is now live over at http://www.walkers.co.uk/clashofthecomics/
As you may know I work for Koko Digital and this is our latest viral advergame Virus Wars a Tower Defense game created for Bit Defender AntiVirus. vote for it on newgrounds or play it on Facebook

I first came across Greensock a few years ago when looking for an AS3 tweening engine. At the time the native flash tweening framework didn’t cut the mustard and still doesn’t. I tried Tweener and GTween along the way and liked both, but was won over by Greensocks TweenMax & TweenLite with the blistering speed and small fooot print of TweenLite and the awsome features of TweenMax. Features include a wide range of preset easing, filters for color, shadow etc. The list is vast and a premium version is available if you sign up for a club Greensock account with additional plugins including 2D physics and motion blur.
The Greensock framework has now been extended to include TweenNano, TimelineMax, TimelineLite, TransformManager and LoaderMax.
I have recently noticed I was unable to compile projects with the IPhone packager if TweenMax has been used, TweenLite on the other hand was fine. If any one else has experienced this or knows of a solution please leave a comment.
If anyone can suggest an alternative tweening framework and some features please comment id be very keen to hear.
[Ammendment 27-01-2011 00:03]
As Jack has commented below, others have successfully deployed TweenMax to Iphone. If anyone has experienced similar issues visit the greensock forums
visit Seaquence
“Seaquence” is described as an experiment in musical composition. Adopting a biological metaphor, you can create and combine musical lifeforms resulting in an organic, dynamic composition.
This came to my attention via the TechWaste blog

The Flight framework is an AS3 utilities library aimed at simplifying development. I have become fondly attached to the Binding utility provided by Flight. Binding is something I thought belonged in the realms of Flex, but its crossed over and is now available from the flight framework git repository
repository http://goo.gl/UFdA3
I got acquainted with Flight whilst using Robotlegs and haven’t looked back. It allows the binding of two variables, if value A changes value B is updated, this can be set one way or both ways updating value A when B is changed. The Bind class also provides the means to listen for this change.
Here is a simple example
/**
* this creates a one way bind. If source.myName is changed then
* target.yourName will be updated as long as both myName and
* yourName are both publicly accessible variables and have the
* meta data tag [Bindable] above them or their getters
*
* [Bindable]
* public var myName:String
*
*/
Bind.addBinding( target, 'yourName', source , 'myName', false );
/**
* listen for changes to a value
* when source.myName is changed this.changeHandler is called
*/
Bind.addListener( this, changeHandler, source, 'myName' );
for more resources with Flight Binding check out the Flight Framework google group.
http://goo.gl/7JLMf
see the blog post by Tyler http://xtyler.com/code/177 it goes into some detail about binding and its performance gain over the native Flex binding. Includes some good code examples.
check out the home page of the Flight Framework http://flightxd.com/ also introduces the fuselage application framework and stealth component framework. Both worth checking out!