Skip to content
This repository has been archived by the owner on Apr 15, 2022. It is now read-only.

Platypus v0.7.0

Compare
Choose a tag to compare
@probityrules probityrules released this 22 Jan 21:04
· 479 commits to master since this release

Major Changes

  1. Scene: Platypus now supports Spring Roll states rather than its own scene management model and platypus.Scene now extends springroll.State. For more information on states, check out the Spring Roll documentation.
  2. Game: Per the above change, platypus.Game no longer handles scene transitions, but can still optionally load new scenes (using the springroll.State model internally).
  3. Platypus no longer requires explicit listing of assets to load. The scene determines the assets to load automatically with each component reporting to the scene the assets it requires.

Minor Changes

  1. The entity definitions folder can have sub-folders containing entities. Note that this is for folder structure convenience and all entities are still compiled into a single key/value object in game (platypus.game.settings.entities) so each entity still needs a unique id and file name.
  2. Platypus no longer maintains its own list of assets. It now employs the Spring Roll assetManager for functionality.
  3. Platypus now uses springroll.EventDispatcher for event handling. platypus.Messenger extends springroll.EventDispatcher.
  4. AABB: Added a method to return the intersection area of two aabb's.
  5. Added support for Tiled 0.15.0, including both the JSON level format with default zlib compression and JSON tileset format.
  6. Component: Created a platypus.Component class extended by platypus.createComponentClass().
  7. Camera: The camera now supports panning by mouse.
  8. The Platypus configuration can be stored in the configuration path at '/platypus/', but if not found, it searches for a game configuration in the root folder.
  9. Array: A union() mixin is now added to window.Array to merge two arrays. This is used internally, primarily to handle asset lists coming from various components and entities to prevent duplicates.
  10. CollisionBasic: "collide-on" and "collide-off" can now apply to an individual component rather than the entire Entity.

Bug Fixes

  1. RenderTiles: Fixed a bug where the component was not relinquishing all of its resources on destroy().
  2. RenderSprite: A RenderSprite component can now be provided a hitArea property to define a rectangular hit area. This is broken in 0.6 due to an EaselJS implementation not compatible with pixi.js.