melonJS 3.0.0

@obiot obiot released this Nov 3, 2015 · 34 commits to 3.0.x since this release

  • Audio : updated to the latest Howler v2.0.0 beta version
  • Audio : added a me.audio.resume function for added convenience (was already possible by calling back me.audio.play)
  • Container : added an autoDepth feature that auto-increments a child's z-coordinate when inserted
  • Color : add support for the #ARGB and #AARRGGBB formats
  • Core : renamed Object.extend to me.Object.extend (fixes conflicts with FaceBook SDK and underscore/lodash) (@jdrorrer)
  • Core : plugins are now registered to me.plugins to prevent collisions within the me.plugin namespace
  • Core : replaced String.contains by its ES6 equivalent: String.includes
  • Core : replaced Number.sign by its ES6 equivalentL Math.sign
  • Core : me.game.currentLevel has been removed in favor of accessing objects through me.game.world -- added me.LevelDirector.getCurrentLevel() as a stop-gap
  • Core : added me.sys.updatesPerSecond to configure updating less often than drawing (@Giwayume)
  • Entity : new positioning method, where the renderable is positioned according to its anchor and the Entity's body anchor (@Giwayume)
  • Examples : added an example showing how to build a basic menu (with a panel, checkboxes and buttons)
  • Font : fixed font height not being set when specifying a CSS Unit for the size
  • Font : added basic CSS Unit conversion from ‘pt’,’ex’,’em’ to ‘px’ (these are approximation and not guaranteed accurate)
  • General : the release build files are no longer versioned; this replaces the old style "melonJS-x.x.x.js" file naming convention with just "melonJS.js"
  • Geometry : added a new me.Vector3d and me.ObservableVector3d class
  • Geometry : removed reverse method from Vector classes; use negateSelf instead
  • Geometry : removed reflect and reflectN methods from Vector classes
  • Geometry : fixed floor and floorSelf methods on Vector classes with negative values
  • Geometry : fixed angle method on Vector classes
  • LevelDirector : level loading is now asynchronous; for sequential behavior, use the LEVEL_LOADED event or new onLoaded callback
  • LevelDirector : added an options argument to the loading method; for specifying a target container, callback, and whether to merge (flatten) object groups
  • Input : renamed last remaining mouse-related objects : me.input.mouse => me.input.pointer, me.event.MOVEMOVE => me.event.POINTERMOVE
  • Input : added HTML5 Gamepad API support, with button and axis remapping
  • Input : optimised pointer detection using the quadtree
  • Input : now properly respect object z ordering when firing pointer events
  • Input : fixed event detection on items in a nested container
  • Renderable : prevent position vector re-allocation when pooling renderable objects
  • Renderable : renderables are now using a 3d Vector for position, using the z axis for layer ordering.
  • Renderable : fixed a distortion issue when scaling and rotating sprites (@Giwayume)
  • Renderable : fixed frame position when using cropping in TexturePacker (@Giwayume)
  • Renderable : anchorPoints now defines the renderable position, scaling and rotation default origin point (@Giwayume)
  • Renderable : better animation definition, allowing to set the animation delay on a per-frame basis
  • Renderable : added anchorPoint setting to the constructor
  • Renderer : added renderer.createPattern() and renderer.drawPattern()
  • Shapes : added support for the free Physic Body Editor tool (in addition to the existing PhysicsEditor support)
  • Shapes : refactored me.Rect to inherit from me.Polygon
  • Texture : added support for per-frame pivot points in animations (@Giwayume)
  • TMX : added hexagonal map support (@matthewmmorrow)
  • TMX : optimized all renderers to be more GC friendly (using the pooling system for temporary objects)
  • TMX : refactored the me.TMXTileMap object, so that it can be used to easily add level into a container object
  • TMX : me.ImageLayer is now drawn relative to the viewport boundary, and can be anchored appropriately
  • TMX : internally normalizes XML into the same JSON format supported by Tiled; cleans up many compatibility functions and removes several fallback cases
  • TMX : removed me.TMXTileMap.moveToCenter and me.TMXTileMap.reset methods
  • TMX : added support for per-frame animation delay to Tiled Objects (for tileset animations)
  • TMX : added support for layer data encoding in JSON map format (Tiled 0.13)
  • TMX : added support for evaluations in TMX data; see spike entities in the platformer for a useful example
  • TMX : fixed an isometric rendering bug with odd tile heights
  • TMX : throw an error message when using map exported in XML (deprecated in Tiled 0.15)
  • TMX : allow to parse the backgroundcolor attribute as formatted in Tiled 0.15 (#AARRGGBB)
  • TMX : use the new columns property (if available) when parsing maps (Tiled 0.15)
  • TMX : fixed a regression in AD tile rotation (squares tiles only)
  • Video : optimized ImageLayer repeat modes (repeat modes require power-of-two sized images for WebGL)
  • Video : added fill-min and flex scaling modes
  • Video : animations are now able to skip frames for low FPS devices and high-speed animations
  • WebGLRenderer : added a repeat parameter to createTexture method