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));
}
Frameworks . URL.