melonJS

a fresh, modern & lightweight HTML5 game engine

MIT License

Downloads
996
Stars
5.7K
Committers
82

Bot releases are visible (Hide)

melonJS - melonJS 0.9.1

Published by obiot over 10 years ago

  • Core : "cache image" option (disabled by default) to use canvas instead of directly using Image Object
  • Core : add onPause and onResume callback when game is paused/resumed on losing/gaining focus
  • Core : added possibility to pass more than 1 extra argument to me.state.change (extra arguments will be passed to the reset function of the target object)
  • Core : object can now only be destroyed using me.game.remove(obj), made of ObjectEntity.destroy a private function
  • Core : beta dirty Rectangle support (only working for non scrolling level for now)
  • Core : experimental webGL wrapper
  • Core : added a getEntityByName function
  • Core : fixed some kind of "lag" issues when deleting objects
  • Core : improved the requestAnimFrame usage, and fallback to setInterval. me.sys.useNativeAnimFrame to enable it (disable by default)
  • Core : optimized the way objects are managed in the game loop
  • Core : defined (and used) a Object.defineProperty function to replace defineGetter / defineSetter (was not supported on IE9/IE10)
  • TMX : implemented Tiled "transparency" property for Tileset, allowing to specify which color should be transparent (note: this slows down level loading)
  • TMX : fixed unnecessary canvas creation for the collision layer (should free some memory)
  • TMX : cleaned/optimized data loading and fixed an issue on FF with XML parsing of "big" Base64 encoded maps (only first nodeValue was parsed by the engine)
  • TMX : added support for CSV data encoding
  • TMX : added support for flipped tiles, as supported in Tiled 0.7
  • TMX : added multiple tileset support
  • TMX : added a "background_image" property. To be set through Tiled, and allowing to specify a fix background.
  • Entity : merge AnimatedSpriteObject into SpriteObject. SpriteObject now takes an optional additional argument to create an animated sprite
  • Entity : added a distanceTo function
  • Viewport : fixed camera refresh when changing "deadzone" values
  • Loader : added a "onProgress" callback to get progress notification, removing the need to poll the loader each frame for loading progress
  • Loader : fix progress notification when TMX files are loaded into the levelDirector
  • Loader : added a retry counter for the audio loading : script will now stop and throw an exception after 3 unsuccessful loading attempts.
  • Video : renamed "applyEffect" to "applyRGBFilter", and fixed an issue on Opera
  • Audio : fixed compatibility issues with IE9/10
  • Geometry : added a merge function to me.Rect
melonJS - melonJS 0.9.0

Published by obiot over 10 years ago

  • Documentation : API documentation using jsdoc-toolkit (finally!)
  • Geometry : define getter for me.Rect coordinates (simplify code)
  • Level : support for fadeOut/fadeIn effect in me.LevelEntity (when changing levels)
  • Entity : correctly implemented InvisibleEntity Objects (no longer inherit from ObjectEntity)
  • Entity : makes SpriteObjet inherit from me.Rect (make it easier to manage sprite pos and size)
  • Loader : cosmetic update of the preloader screen
  • Viewport : "rounding" issue fix in the viewportEntity (~~30% less CPU usage on Safari/OSX!)
  • TMX : cleaned & refactored tilemap collision detection (still not perfect though)
melonJS - melonJS 1.0.0

Published by obiot over 10 years ago

  • Core : now pass the elapsed time as a parameter when calling any object update function
  • Core : cleaned-up/renamed conflicting set function in shape and font objects
  • Core : added new shapes objects (Ellipse, Polygon) on top of the existing Rectangle one
  • Core : added a mixing property to object (insidiator)
  • Core : deprecated object manipulation (add, remove) have been removed from me.game
  • Core : renamed the me.entityPool API to me.pool and related functions (see documentation & upgrade guide)
  • Entity : deprecated helper function (doJump, doWalk) have been removed
  • ObjectContainer : renamed getEntityByProp to getChildByProp
  • ObjectContainer : getChildByProp now returns all matching object type and not only "entities"
  • Camera : camera bounds are now defined as a rectangle and not only in width and height
  • Loader : added resource information to loader progress event (warpten)
  • Loader : added loading of TMX data from javascript (json) objects (paulmedwal)
  • Color : melonJS now defines a new me.Color class for advanced color manipulation
  • Particles : added basic Particle System, with emitters and particles (ciangames/insidiator)
  • Particles : added a particle emmiter editor, see the example folder (insidiator)
  • Device : added full cross-browser support for the Fullscreen API (see me.device)
  • Device : added support for the vibration API (me.device.vibrate)
  • Device : renamed the me.save.delete function to me.save.removed (delete is a reserved keyword)
  • Device : added support for the visibilitychange API (pause/stop state on window show/hidden status)
  • Audio : modernised (and also mobile compatible) web audio API based on the awesome Howler library
  • Input : added the possibility to disable globally or per key the default browser action
  • Input : automatically enable keyboard even on desktop type devices
  • Input : the registerPointerEvent functio now only accepts the standardized Pointer Event names.
  • TMX : added proper support for all shape type (collision is still however resolved using AABB detection)
  • TMX : XML TMX map are now converted to a JXON object on-the-fly, allowing to remove duplicated parsing code
  • TMX : added the Tiled "type" property to TMXObject
  • TMX : melonJS will now respect the object size as defined in Tiled when parsing/creating related object in the game world
  • Timer : added a setTimeout and setIntveral function obeying the engine pause state
  • Tween : Fixed tweens to properly maintain time state when paused
  • Renderable : collisionBox has been replaced by a more cleaner implementation (see getShape/addShape/getBounds)
  • Renderable : the flicker function now takes the global flickering duration in ms (as opposed in frame count)
  • Renderable : removed the visible property
melonJS - melonJS 1.0.1

Published by obiot over 10 years ago

  • Core : removed unused Object.mixin method, (caused compatibility issues with socket.io and other libs)
  • Entity : disable falling flag when gravity is disabled
  • Entity : fix an exception in ObjectEntity.checkCollision()
  • Entity : fixed a regression on breakable tiles
  • Entity : use width and height by default if spritewidth and spriteheight are not defined
  • Entity : throw an exception if mandatory fields width and height are not defined
  • Entity : fixed an exception in ObjectEntity.flipX/Y()
  • Loader : fixed asset loading when named as a number
  • ObjectContainer : use cyclic zIndex by default instead of Infinity
  • Audio : sync'ed with last Howler version (as now officially and properly support CocoonJS)
  • Audio : melonJS now throws an exception when attempting to load audio assets before audio is initialized
  • TMX : fixed a potential issue with ImageLayer when ratio is set to 0 in Tiled
  • Font : fixed opacity property usage for me.BitmapFont object.
  • Renderable : added a tap and hold feature to the me.GUI_Object object (juhanapaavola)
  • Particles : fixed the particle emitter bounds (aaschmitz)
  • Input : added several keyboard keys for input mapping (aaschmitz)
Package Rankings
Top 11.32% on Bower.io
Top 2.63% on Npmjs.org
Badges
Extracted from project README
Build Size Tree-shaking NPM Package jsDeliver Boss Bounty Badge Contributor Covenant Free Texture Packer TexturePacker PhysicsEditor ShoeBox Tiled Cordova Spine aseprite Melon Gaming Altbyte Pte Ltd
Related Projects