June 3rd, 2010
BSS Actionscript Package
Developed over years, matured through a long process of adding, removing rewriting, refining, curating, forgetting, re-adding, improving, collecting, enhancing, rewriting hours of hard work by an amazing team. The Big Spaceship package is a collection of useful classes that help us to do our basic daily tasks faster so that we have more time to concentrate on the fun stuff.
Here it is, the public Big Spaceship AS3 Repository on github:
This package is not a full framework for building sites or apps. It does provide some loose organizing and structural principals for combining complex code with rich animations created on the timeline, and it should be able to be integrated into any existing framework. We want everyone to be able to use their preferred design and development environment and code frameworks to ensure a fast way to produce innovative high quality custom work.
We are constantly adding, changing and tweaking the code in this package. There is no documentation at the moment, save for some sparse comments in the code, but soon we will be starting a series of posts here on Labs which will explain how we use various classes and packages. Copies of these posts will also be stored on github.
For now, here is a quick overview of some of the most commonly used packages and classes
The AudioManager class is used to quickly add sound effects and music to Flash applications.
Most of the classes in this package provide basic functionality and an event model for controlling timeline animations for any UI elements. We generally dont link library assets directly to existing classes but are using an Object-Composition like approach instead of inheritance, and pass the artwork (DisplayObject, usually a MovieClip) as a parameter to the constructor of a class. The MovieClip should be set up with specific frame labels and code on the timeline to trigger AnimationEvents.
Classes used for loading various assets into Flash applications.
We typically use many of the open source tweening engines that are out there. Each developer on the team has their preferences, but one of our favorites is TweenLite/TweenMax. But we keep some handy custom tween classes in this package as well as Robert Penners easing classes for easier reference.
This is a collection of small and very useful helper classes. Some of the most used utilities are Environment, can tell you whether the application is in a browser or not, and what domain it is running on, etc; Lib, used for retrieving assets out of swf libraries; Out, our custom trace wrapper which can use adaptors to output to a variety of 3rd party trace consoles; SimpleSequencer, for sequencing animations and other actions.
So take a look, and check back here soon for more posts about the code.