This repository has been archived by the owner on Apr 15, 2022. It is now read-only.
Platypus v0.7.0
Major Changes
- Scene: Platypus now supports Spring Roll states rather than its own scene management model and
platypus.Scene
now extendsspringroll.State
. For more information on states, check out the Spring Roll documentation. - Game: Per the above change,
platypus.Game
no longer handles scene transitions, but can still optionally load new scenes (using thespringroll.State
model internally). - 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
- 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. - Platypus no longer maintains its own list of assets. It now employs the Spring Roll
assetManager
for functionality. - Platypus now uses
springroll.EventDispatcher
for event handling.platypus.Messenger
extendsspringroll.EventDispatcher
. - AABB: Added a method to return the intersection area of two aabb's.
- Added support for Tiled 0.15.0, including both the JSON level format with default zlib compression and JSON tileset format.
- Component: Created a
platypus.Component
class extended byplatypus.createComponentClass()
. - Camera: The camera now supports panning by mouse.
- 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.
- Array: A
union()
mixin is now added towindow.Array
to merge two arrays. This is used internally, primarily to handle asset lists coming from various components and entities to prevent duplicates. - CollisionBasic: "collide-on" and "collide-off" can now apply to an individual component rather than the entire Entity.
Bug Fixes
- RenderTiles: Fixed a bug where the component was not relinquishing all of its resources on
destroy()
. - RenderSprite: A
RenderSprite
component can now be provided ahitArea
property to define a rectangular hit area. This is broken in 0.6 due to an EaselJS implementation not compatible with pixi.js.