Firefly is an open source development kit created to simplify the application creation process and is aimed to improve project infrastructure and maintainability. Firefly framework extends the Starling framework capabilities and features.
The SDK has a gaming framework and a set of native extensions. Below are some features and items packaged with the SDK:
- Texture Management
- View Navigation
- Lots of UI Controls
- Layout System
- Navigation Map
- View Map
- Animation Effects
- Data Binding
- Async Calls
- Sound Management
- Analytics System
- Firefly Framework – precompiled SWC library ready for use
- Starling Framework – SWC library
- Google Analytics ANE – Air Native Extension for Google Analytics on iOS and Android platforms
- Chartboost ANE – Air Native Extensiob for Chartboost on iOS and Android platforms
- Audio ANE – Air Native Extension for Audio playback on Android platform
Sample
public function MainView() { super(); // Initialize game view navigator navigator = new ViewNavigator(this); // Add views and pop-ups within game view navigator navigator.addView(MenuView, ViewStates.MENU); navigator.addView(CreditsView, ViewStates.CREDITS); navigator.addView(GameView, ViewStates.GAME); navigator.addView(ScoreView, ViewStates.SCORE); navigator.addPopUpView(PausePopUpView, ViewStates.PAUSE); navigator.addPopUpView(ExitPopUpView, ViewStates.EXIT); // Initialize additional game states navigator.hibernateView = new LoadingView(); navigator.lostContextView = new LostContextView(); // Menu transitions navigator.addTransition(new BasicTransition(ViewStateEvent.SWITCH_TO_STATE, ViewStates.MENU, ViewStates.CREDITS)); navigator.addTransition(new BasicTransition(ViewStateEvent.SWITCH_TO_STATE, ViewStates.MENU, ViewStates.GAME)); // Credits transitions navigator.addTransition(new BasicTransition(ViewStateEvent.SWITCH_TO_STATE, ViewStates.CREDITS, ViewStates.MENU)); // Game transitions navigator.addTransition(new BasicTransition(ViewStateEvent.SWITCH_TO_STATE, ViewStates.GAME, ViewStates.MENU)); navigator.addTransition(new BasicTransition(ViewStateEvent.SWITCH_TO_STATE, ViewStates.GAME, ViewStates.SCORE)); navigator.addTransition(new BasicTransition(ViewStateEvent.SWITCH_TO_STATE, ViewStates.GAME, ViewStates.GAME)); // Score transitions navigator.addTransition(new BasicTransition(ViewStateEvent.SWITCH_TO_STATE, ViewStates.SCORE, ViewStates.GAME)); navigator.addTransition(new BasicTransition(ViewStateEvent.SWITCH_TO_STATE, ViewStates.SCORE, ViewStates.MENU)); // Back device button (Android only), open popup, deactivate transitions navigator.addTransition(new BasicTransition(ViewStateEvent.BACK, ViewStates.CREDITS, ViewStates.MENU)); navigator.addTransition(new BasicTransition(ViewStateEvent.BACK, ViewStates.SCORE, ViewStates.MENU)); navigator.addTransition(new PopUpTransition(ViewStateEvent.OPEN_POPUP, ViewStates.MENU, ViewStates.EXIT)); navigator.addTransition(new PopUpTransition(ViewStateEvent.BACK, ViewStates.MENU, ViewStates.EXIT)); navigator.addTransition(new BasicTransition(ViewStateEvent.DEACTIVATE, ViewStates.GAME, ViewStates.PAUSE)); navigator.addTransition(new BasicTransition(ViewStateEvent.BACK, ViewStates.GAME, ViewStates.PAUSE)); }