Releases: melonjs/melonJS
Releases · melonjs/melonJS
melonJS 2.1.2
- LevelDirector : do not replace Tile Object's
renderable
- Renderable : fixed renderable bounds initialization with object pooling
melonJS 2.1.1
- Container : fixed child bounds when manipulating the container position.
- Core : fixed a regression when using the pooling system with renderables.
- Examples : fixed conditional debugPanel loading in cocoonJS
- Font : fixed the drawStroke function (zoiba)
- Input : fixed an uncaught exception with the 'maxTouchPoints' polyfill under Chrome 43+
- Input : fixed/improved
pointerEvent
andpointerLeave
event bindings for the sample GUI Object - Loader : throw an exception indicating to use JSON if XML parsing is not supported by the browser/platform
melonJS 2.1.0
- Audio & Loader : file/clip names passed to various methods are now case sensitive. Removed uses of toLowerCase on variables.
- Audio : properly dispose of audio resources when using cocoonJS
- Container :
getChildByProp
and friends now accepts a RegExp for value matching - Color : added high-precision color transformation for me.Color
- Core : added
me.pool.exists
(@xorinzor) - Core : fixed collision detection with nested Containers
- Core : added
me.game.HASH
to pass key-value options in the URL - Core : now uses only case-sensitive string matching; DoN't MiX cAsE!
- Device : added browser language detection
- Entity : entity bodies now have a default shape if not overridden by the entity constructor.
- Entity : renderables are now positioned relative to the body bounds
- Font : updated me.Font to work with me.Color (@xorinzor)
- Font : updated the me.Font api to be consistent with me.BitmapFont and the Renderer class
- Font : added support for WebGL (using me.Font is however not recommended for performances reason)
- Input : added support for
pointerenter
andpointerleave
events (@TheManuz) - Input : allow regions to be any shape when registering pointer event, and not just me.Rect
- Input :
releasePointerEvent
now accepts an optional extra argument that references "which callback" to release - Particles : fixed angle variation and speed variation in
me.ParticleEmitter
- Renderable : normalized constructors for
me.Sprite
andme.AnimationSheet
(see the wiki upgrade guide) - Renderable : removed
hWidth
andhHeight
properties - Shapes : added basic support for the PhysicsEditor tool (mainly shapes definition)
- Texture : added support for the WebGL Renderer
- Texture : texture atlas can now be created using a “standard” sprite sheet
- Texture :
me.TextureAtlas
has been renamed tome.video.renderer.Texture
- TMX : added parsing of the new
id
(unique ID) property for objects (Tiled 0.11.0) - TMX : fixed horizontal, vertical and antidiagonal flipping for tile objects
- TMX : remove deprecated "transparency color" - use PNG images with alpha channel instead
- Video : refactored the me.video.init to be more flexible in terms of mandatory/optional arguments
- Video : turn canvas transparency off by default; can be enabled by passing
options.transparent = true
tome.video.init()
- Video : renderers are now classes that can be instantiated with
new me.CanvasRenderer
andnew me.WebGLRenderer
- Video : added support for the
image-rendering
CSS property standard "pixelated" value - Video : added new
scaleMethod
option :fit
,fill-max
,flex-height
,flex-width
, andstretch
; replaces oldmaintainAspectRatio
flag (@djokal)
melonJS 2.0.2
- Audio : automatically cleanup
onend
callbacks inme.audio.play
- Audio :
me.audio.play
now applies theloop
,onend
, andvolume
properties only to the expected sound instance ID - Audio : fix
me.audio.unmute()
- Audio : updated to the latest Howler 2.0 build (various fixes and improvements)
- Audio : added
instance_id
parameter tomute
andunmute
methods - Audio : updated documentation
- CanvasRenderer : fixed an issue/regression with the
globalAlpha
functions - Core : fixed collision detection between
me.Ellipse
(circle) andme.Line
shapes - Core : fixed renderable positioning with nested me.Container objects
- Core : fixed an uncaught exception in IE9 with Float32Array
- Documentation : fixed anchor positioning
- Documentation : added anchor target highlighting
- Documentation : fixes in me.Font, me.BitmapFont, and me.Entity
- Entity : removed
me.ObjectSettings
- Font : fixed globalAlpha not being set when using
me.Font.setOpacity()
- TMX : fixed an uncaught exception when loading a map with an empty object layer (thanks @Tiagojdferreira)
melonJS 2.0.1
- Core : fixed loading under CocoonJS when using Canvas+
- Shapes : replaced the isometric magic numbers used for scaling, by proper and more accurate math constants (ldd)
- Audio : fixed sound looping
- Audio : fixed onend callback not being repeatedly fired when looping a sound
- Audio : cleaned the onend callback when stopping a sound
- Audio : added a me.audio.fade() function
melonJS 2.0.0
- Core : implemented a new shape based collision system for the collision layer
- Core : added user agent detection for Kindle devices
- Core : fixed the collision response for circles (me.Ellipse with a uniform radius)
- Shapes : renamed me.PolyShape to me.Polygon and simplified the constructor (no longer needs a fourth param)
- Shapes : added a new shape: me.Line
- Shapes : added multi shapes support for body
- Shapes : added rotation and scaling support for
me.Polygon
/me.Line
shapes. - Audio : the Howler library has been updated to the last 2.0 beta
- Audio : removed the cocoonJS hack, as the pause/resume function have been fixed through Howler 2.0
- Entity : added automatic collision response handling (not fully done yet actually)
- Container : fixed an issue where "non-floating" containers always passed the in-viewport test
- CanvasRenderer : All fill & stroke methods have removed the color & line width parameters. Use the new setColor and setLineWidth methods.
- CanvasRenderer : Removed strokeLine, was duplicate with drawLine
- WebGLRenderer : New WebGLRenderer has reached "alpha", and can be enabled by passing the
me.video.WEBGL
flag tome.video.init()
- Particles : fixed randomness in the emitter for scaling and rotation of particles
- Particles : fixed widget drawing in Particle Editor
- TMX : added rotation support for Polygon/PolyLine objects (Tiled 0.10+)
- TMX : added support for tileset animations (Tiled 0.10+)
- TMX : fixed isometric projection for Polygon/PolyLine objects
- TMX : fixed TSX external tileset loading
melonJS 1.2.0 beta 1
- Core : implemented a new shape based collision system for the collision layer
- Core : added user agent detection for Kindle devices
- Core : fixed the collision response for circles (me.Ellipse with a uniform radius)
- Shapes : renamed me.PolyShape to me.Polygon and simplified the constructor (no longer needs a fourth param)
- Shapes : added a new shape: me.Line
- Shapes : added multi shapes support for body
- Shapes : added rotation and scaling support for
me.Polygon
/me.Line
shapes. - Entity : added automatic collision response handling (not fully done yet actually)
- CanvasRenderer : All fill & stroke methods have removed the color & line width parameters. Use the new setColor and setLineWidth methods.
- CanvasRenderer : Removed strokeLine, was duplicate with drawLine
- WebGLRenderer : New WebGLRenderer has reached "alpha", and can be enabled by passing the
me.video.WEBGL
flag tome.video.init()
- Particles : fixed randomness in the emitter for scaling and rotation of particles
- Particles : fixed widget drawing in Particle Editor
- TMX : added rotation support for Polygon/PolyLine objects (Tiled 0.10+)
- TMX : added support for tileset animations (Tiled 0.10+)
- TMX : fixed isometric projection for Polygon/PolyLine objects
- TMX : fixed TSX external tileset loading
melonJS 1.1.0
- Core : reorganised source code for all basic object definition/augmentation
- Core : new CI and unit testing frameworks
- Core : new object inheritance mechanism: http://github.com/parasyte/jay-inheritance
- Core : added array random and weightedRandom functions (aaschmitz)
- Core : added a Base64 Encode function (aaschmitz)
- Core : new
me.Error
class to help better track down execeptions' origin - Core : brand new "Separate Axis Theorem " based collision algorithm (support polygon/ellipse, and providex more accurate collision response)
- Core : added collision filtering support
- Core : added a spatial partitioning algorithm (QuadTree) for super fast collision detection
- Container :
addChild
andaddChildAt
now return the added child - Video : refactored canvas drawing out to me.CanvasRenderer. Video is now agnostic of rendering target. Use me.video.renderer to call things like getWidth, getHeight, getCanvas, getContext, etc.
- Video : constructor parameters changed. 2nd parameter now expects renderer type. For now, just supports me.video.CANVAS
- CanvasRenderer : object is passed to the draw calls of each object in the world Container. Implemented various draw apis fillRect, and fillArc for example. me.Font still requires an instance of Context2d.
- Renderable : renamed
me.SpriteObject
tome.Sprite
andme.ObjectContainer
tome.Container
, for a cleaner API - Renderable : constructors refactored to accept x & y numeric values, over a single vector object. Effects: me.Container, me.Rect, me.PolyShape, me.Ellipse, me.Renderable
- Shapes : setShape updated to accept x & y numeric values over a vector object for: me.Rect, me.PolyShape, me.Ellipse
- Camera : fixed viewport bounds setting when using isometric map (Juhana Paavola)
- Entity : entity object redesign with a full polygon shape based physic body implementation
- Entity :
me.ObjectEntity
has been renamed tome.Entity
to avoid confusion between the old and new entity component. - Audio : fixed some audio load issues and error callbacks
- Audio : sync'ed with last Howler 1.1.25 version (fixes numerous issues, see official changelog for more details)
- TMX : fixed the background color drawing when the level is smaller than the display canvas
- TMX : fixed the getTile function returning wrong tiles when using isometric maps
- TMX : fixed collision layer rendering issue with isometric map
- TMX : fixed world container size not being udpated after a new level is loaded
melonJS 1.1.0 beta 3
- fixed default collision bounds when no collision shapes are defined
- fixed quadtree debug mode drawing (debug Panel)
- fixed the
strokeArc
andfillArc
function from the canvas renderer - fixed shape drawing in debug mode when several shapes are defined
- optimized temporary object creation in the quad tree implementation
- Lowered memory usage for the quad tree by adding a simple object pooling mechanism
- fixed the
maxChildren
andmaxDepth
parameters when creating the quad tree, and increasedmaxChildren
default value to 8 - fixed a regression on the
spritewidh
/spriteheight
properties (supposed to be optional) - entity
body
objects are now properly relative to their parent container - fixed polygon collision shape position when converted from a rectangle shape with an offset position
- fixed a regression in
me.video.getPixelRatio
(was throwing an exception if called beforeme.video.init
) - fixed bounds creation for default
collisionMap
- updated the collision test example to use ellipse based collision shape rather than rectangle
- updated the
stroke*
functions to accept alinewidth
param. - clarified the documentation for the
setCollisionMask
function - fixed the documentation for the
me.Error
class
melonJS 1.1.0 beta 2
- TMX : fixed world container size not being updated after a new level is loaded
- TMX : fixed the getTile function returning wrong tiles when using isometric maps
- TMX : fixed collision layer rendering issue with isometric map
- TMX : fixed an issue where the the game world container size was not updated after loading a TMX level
- Entity : fixed body bounds update when setting/changing the default collision shape
- Shape : removed double variable assignment in the
me.Rect
constructor - Core : enabled by default the spatial collision grid detection algorithm (quad tree) for super fast collision detection
- documentation : various fixes and improvements on the new me.collision API