Gugga Flash Framework
Gugga Flash Framework Blog
You can visit the Blog that we set up for posting articles related to the framework here: http://www.gugga.com/flashblog/
Gugga Flash Framework
GuggaFF is now on ActionScript 3.0
You can download the new alfa release from here:
The current stable release is 0.9.2
You can download the source code, samples and unit tests from here:
source code Gugga Flash Framework
You can explore the documentation in html format from here:
documentation Gugga Flash Framework 0.9.2
You can download old releases from here:
Change log from v. 0.9.1
New features
- Created new EventDispatcher to replace the original macromedia implementation. The new implementation improves the overall performance of the framework
( ColorTransformTweenAnimation.as, PropertiesTweenAnimation.as, NavigationManager.as, SectionsTransition.as, BrowserHistory.as, CheckList.as, UIComponentEx.as, MediaLoader.as, SoundLoader.as, XMLLoader.as, DataManager.as, Debugger.as, LayoutGenerator.as, LogManager.as, CustomCompleteTask.as, ExecuteAsyncMethodTask.as, ExecuteMethodTask.as, FictiveTask.as, FrameWaitingTask.as , MonitoringTask.as, PreconditionsManager.as, PreconditionsTask.as, ProgressiveTaskDecorator.as, ProgressMonitor.as, SingleExecutionTask.as, TaskManager.as, TaskManagerItem.as, TaskSequence.as , WaitingTask.as, WrappingTask.as, TrackManager.as, TweensManager.as, Locker.as, OnEnterFrameBeacon.as)
- Created new tween package. (gugga.tween.*)
- Created new TweenManager to replace the tween manager provided by Zigo. The new manager tends to perform better.
- Created AbstractTween for the TweenManager to work with
- Extended AbstractTween into a TimeTween implementation which executes in a fixed number of seconds
- Extended AbstractTween into a FrameTween implementation which executes in a fixed number of frames
- Improved properties tween animations (PropertiesTweenAnimation.as)
- New animation type - “Frame tween animation” support for PropertiesTweenAnimations (PropertiesTweenAnimationType.as )
- CacheAsBitmapPolicy for properties tween animations (AnimationSubjectCacheAsBitmapPolicy.as)
- Zigo TweenManager replaced with new one (gugga.tween.*)
- Added several new animation implemetations for common scenarios ( gugga.animations.)
- BlinkingAnimation.as
- ScrollRectAnimation.as
- ScrollRectLinedAnimation.as
- ColorTransformTweenAnimation.as
- MaskAnimation.as
- FilterTweenAnimation.as
- FrameByFrameAnimation.as
- Transitions
- ApplicationController took the responsibility for controlling the transitions at a root level
- Navigation Commands can be rejected by the ApplicationController by returning false from the navigateTo() method. This happens if the current transition can not be interrupted.
- Added methods in Section Controllers to get the current active section’s path - getCurrentSectionPath(),harvestCurrentSectionPath().
- Added event “sectionsSwapped” in SectionsTransition to inform when the current section is changed.
- Navigations
- Navigation instances do not determine their state individually. Navigation state is controlled at a global level by a Navigation Manager ( NavigationManager.as)
- Navigation Manager is controlled by the ApplicationController and is told the current active section’s path.
- Added method selectSubItemsPointingTo(aSectionPath) to INavigation which selects all items that navigate to a certain section path.
- Fictive Sections Transition created to support custom ISectionsController implementations (FictiveSectionsTransition.as)
- BrowserCommunicationUtility has been created to allow weak javascript function calls
- Added capability to the ExecuteAsyncMethodTask to create interruptable tasks (ExecuteAsyncMethodTask.as)
- Created FrameWaitingTask to allow waiting tasks to span over fixed number of frames instead of seconds ( FrameWaitingTask.as)
- Created ForceReferenceCountingUtility to force the garbage collector (ForceReferenceCountingUtility.as)
- Created AnonymousTask to be used for dynamic creation of tasks and lazy evaluation
Changes in existing functionality
- The majority of the control of transitions and navigations is moved from the SectionsController to ApplicationController.
- Event “sectionsSwapped” added to Sections Transition (SectionsTransition.as)
- IApplicationCommandReceiver renamed to INavigationCommandReceiver (NavigationCommand.as)
- OpenPopupCommand’s execute method signature has changed to return Boolean ( OpenPopupCommand.as)
- OpenUrlCommand’s execute method signature has changed to return Boolean (OpenUrlCommand.as)
Enhancements
- Execute HideAfterCompletion when interrupting (TimeLineAnimation.as )
- SectionsController “currentSectionPathChanged” event added (SectionsController.as)
- Back and forward implementation is changed in order to use a third party library (http://www.unfocus.com/Projects/HistoryKeeper) for saving records in browser history buffer.
- The default value of Section.MoveOutOfSceneWhenInvisible has changed (Section.as)
- RemoveAll method added to ProgressMonitor (ProgressMonitor.as)
- Event “interrupted” added to ProgressMonitor ( ProgressMonitor.as)
- addFinalPrecondition method added to the TaskManager interface (TaskManager.as)
- fillBitmapRect method added to DrawUtil (DrawUtil.as)
- Enhanced DrawUtil to ensure the covers are always drawn at an integers coordinates ( DrawUtil.as)
Bug fixes
- Changed CustomCompleteTask to set the isRunning flag to false when completed
- Interruption bug fixed for SingleExecitonTask, ProgressiveTaskDecorator and TaskSequence
- TaskSequence bug has been fixed. The sequence now dispatches completed right after its start, in case it completes on the same frame.
- Fixed bug in WaitingTask, causing the task to not dispatch completed if waiting interval is set to 0.
Deprecated functionality
- IDataDrivenSection.as
- mx.events.EventsDispatcher in favor of gugga.events.EventDispatcher
- tweens.zigo.TweenManager in favor of gugga.tween.TweenManager
Removed functionality
- AddressBar.as and AddressBarManager in favor of gugga.utils.BrowserCommunicationUtility
- IApplicationCommandReceiver in favor of INavigationCommandReceiver
Change log from v. 0.9
Collections package enhancements
- Added IHashTable
- Added IIterable
- Added ObjectSet
- Added ArrayListIterator
- ObjectHashTable reworked
- Implemented IIterable for ArrayList, CheckList, HashTable, ObjectHashTable, PriorityQue, ObjectSet and ValueSet
Browser History support package (gugga.browser) (works on flash player 7 and requires additional javascripts)
a) Browser history support based on iframe, no deep links supported<br><br>
- Added BrowserHistoryManager class synchronizing Back and Forward buttons with the CommandHistory buffer
- Added BrowserHistory class abstracting communication between BrowserHistoryManager and the history iframe
- Added BrowserHistoryCommander class to allow iframe callbacks via LocalConnection to the Application.
b) Browser history support based on the address bar hash, with deep links<br><br>
- Added AddressBarManager publishing CommandHistory buffer “state” (and deep links) to the address bar
- Added AddressBar class decoupling the Application from any address bar specifics
Navigation modification <ul>
- MenuItemsController does not set it’s state automatically when button clicked
- SectionsController marks navigation state when transition starts
Other modifications
- gugga.commands.CommandHistory modified in order to dispatch a new event (”commandAdded”) whenever it adds a command
- Added currentCommandIndex Number value in the events dispatched by the CommanHistory (”commandAdded”,”commandBufferContentChanged”)
guggaff.txt · Last modified: 2007/09/25 06:49 by sotirov