This repository has been archived by the owner on Apr 15, 2022. It is now read-only.
Platypus v1.0.0
Platypus 1.x will remain locked to SpringRoll v1. Major changes from v0.11.10 may break existing games.
Major Changes
- EntityContainer now assigns a
parent
property to the entity before instantiation, makingparent
available for components' constructors, whereas before this property was only assigned during an "adopted" event and thereafter. This may cause issues with component code depending on athis.owner.parent
property check. - RenderTiles has been updated to use the RenderContainer component, enabling masks and other RenderContainer properties.
- The
constructor
method name for creating components was deprecated in Platypus v0.10.1 and has been removed with this release. Useinitialize
in its place. - Several "mouse" events were deprecated in Platypus v0.10.6 and replaced with generalized "pointer" events. These events are no longer triggered: "mousedown", "mousemove", "mouseover", "mouseout", and "click". They have been superseded by "pointerdown", "pointermove", "pointerover", "pointerout", and "pointertap" respectively.
Minor Changes
- TiledLoader now handles tile set images better, accepting a tile set id that doesn't necessarily match the image id. TiledLoader has also been extended to accept Tiled's "ellipse" exported shape for circle shapes, translating to a "circle" for Platypus collision components. Also added support for most recent Tiled JSON properties format.
- Interactive has been updated to accept an array of points defining a polygonal hit area.
- Tween has been extended to accept a new range of properties provided by the CreateJS Tween library.
- LogicButton now includes a reference to its originating entity in input events to facilitate passing across entities.
- Timeline can now stop any running timelines.
- AudioSFX now supports per-clip
playthrough
property, allowing particular sounds to play through completely when stopped, for example, by a scene transition. - RelativePosition component has been added to set an entity's position according to the camera view port's bounding area. This duplicates the functionality embedded in LogicButton, but allows non-button entities to be relatively positioned.
- AudioVO will now unload played audio on iOS devices for better memory management. Support has also been added for importing Rhubarb Lip Sync exports to allow for quicker lip-sync integration.
Bug Fixes
- TiledLoader no longer attempts to automatically combine tile layers using distinct entity definitions. (61400f0)
- Fixed Platypus console output for Chrome. (daccae6)
- Updated PIXIAnimation so that it creates a valid id for Base64 image sources. (28c92c3)
- Fixed an issue with EntityContainer where the list of entities to remove was changing dynamically during component tear-down.
- RenderText now correctly supports horizontal and vertical alignment as defined in its documentation. (eba2d75)
- Fixed mouse-panning for Camera on devices with a device pixel ratio greater than 1. Also fixed the camera so offsets work for a locked-follow camera.
- RenderSpine now uses preloaded assets instead of loading needed assets for a second time. This makes entities with this component instantiate more quickly and prevents duplicate asset loading.